Mysql筆記之(四)常見函式之單行函式

2021-10-05 02:21:13 字數 4986 閱讀 4650

2.數學函式

3.日期函式

4.其他函式

5.流程控制函式

注:date_format函式引數說明

呼叫:select 函式名(實參列表)【from 表】;

特點:(1)函式名 (2)函式功能

分類:單行函式 如concat、length、ifnull等,傳乙個引數進去會有乙個返回值

分組函式(又名統計函式、聚合函式、組函式):做統計使用,傳進去一組值最終返回乙個值

select length (

'john'

);

》4

select length (

'張新成'

as 姓名

from employees;

select upper(

'john'

);

#例:將姓變大寫,名變小寫,然後拼接

select concat(upper(last_name)

,lower(first_name)

)as 姓名

from employees;

#注意:mysql中索引從1開始

#擷取從指定索引處後面所有的字元(擷取從當前索引開始的所有字元)

select substr(

'今天是晴天',4

) out_put;

》晴天

#擷取從指定索引處指定字元長度(不是位元組長度)的字元

select substr(

'今天是晴天',1

,2) out_put;

》今天

#例:姓名中首字元大寫,其他字元小寫,然後用_拼接,顯示出來

select concat(upper(substr(last_name,1,

1)),

lower(substr(last_name,2)

),'_',lower(first_name)

) output

from employees;

select instr(

'冰糖燉雪梨好甜'

,'雪梨'

)as output;

#>>4

select instr(

'冰糖燉雪梨好甜冰糖燉雪梨好甜'

,'雪梨'

)as output;

#>>4

select length(trim(

' 張新成 '))

as output;

#>>9

select trim(

'a'from

'aaaaaaa張新成aaaaaa'

)as output;

#>>張新成

select lpad(

'黎語冰',10

,'*'

)as output;

select

replace

('棠雪棠雪棠雪黎語冰和棠雪'

,'棠雪'

,'小可愛'

)as output;

select

round

(1.45

);

#>>1

#第二個引數代表保留小數點之後的位數

select

round

(1.45678,2

);

#>>1.45

select ceil(1.002);

#>>2

select ceil(1.00);

#>>1

select

truncate

(1.99999,1

);

#>>1.9

select mod(10,3);

#等價於

select 10%3;

select

now(

);

select curdate(

);

#獲取指定的部分,年、月、日、小時、分鐘、秒

select

year

(now()

) 年;

select

year

(hiredate) 年 from employees;

select

month

(now()

) 年;

select monthname(

now(

)) 月;

select str_to_date(

'4-11-2020'

,'%m-%d-%y'

)as output;

#例:查詢入職日期為1992-4-3的員工資訊

select

*from employees where hiredate =

'1992-4-3'

;

#例:查詢入職日期為1992-4-3的員工資訊,不限制輸入順序

select

*from employees where hiredate = str_to_date(

'4-3 1992'

,'%c-%d %y'

);

select date_format(

now(),

'%y年%m月%d日'

)as output;

#查詢有獎金的員工名和入職日期(xx月/xx日 xx年)

select last_name,date_format(hiredate,

'%m月%d日 %y年'

)from employees;

檢視版本

select version(

);

查詢資料庫

select

database()

;

查詢使用者

select

user()

;

selectif(

10<5,

'大',

'小');

case expr 

when v1

then r1

[when v2 then r2]

[else rn]

end

如果expr值等於某個vn,可以是等於v1或v2…vn,則返回對應位置then後面的結果。如果與所有值都不相等,則返回else後面的rn。

select job_id as job,

case job_id

when

'ad_pres'

then

'a'when

'st_man'

then

'b'when

'it_prog'

then

'c'end

as grade

from employees;

%a 縮寫星期名

%b 縮寫月名

%c 月,數值

%d 帶有英文本首的月中的天

%d 月的天,數值(00-31)

%e 月的天,數值(0-31)

%f 微秒

%h 小時 (00-23)

%h 小時 (01-12)

%i 小時 (01-12)

%i 分鐘,數值(00-59)

%j 年的天 (001-366)

%k 小時 (0-23)

%l 小時 (1-12)

%m 月名

%m 月,數值(00-12)

%p am 或 pm

%r 時間,12-小時(hh:mm:ss am 或 pm)

%s 秒(00-59)

%s 秒(00-59)

%t 時間, 24-小時 (hh:mm:ss)

%u 周 (00-53) 星期日是一周的第一天

%u 周 (00-53) 星期一是一周的第一天

%v 周 (01-53) 星期日是一周的第一天,與 %x 使用

%v 周 (01-53) 星期一是一周的第一天,與 %x 使用

%w 星期名

%w 周的天 (0=星期日, 6=星期六)

%x 年,其中的星期日是周的第一天,4 位,與 %v 使用

%x 年,其中的星期一是周的第一天,4 位,與 %v 使用

%y 年,4 位

%y 年,2 位

尚矽谷MySQL基礎之常見函式

1 字元函式 函式用法 length 計算位元組長度 concat 拼接字元 substr 擷取字串,1開始 instr 返回第乙個字串出現的位置 trim 消除字串前後空格 upper 字串大寫 lower 字串小寫 lpad 左填充欄位的查詢結果 rpad 右填充欄位的查詢結果 replace ...

常見函式之字元函式

1 length 獲取引數值的位元組個數 eg select length joan 返回值為42 concat 拼接字串 eg select cncat last name,first name 姓名 from employees 3 upper lower eg 將姓變大寫,名變小寫。然後拼接在...

《浪潮之巔》筆記之四

浪潮之巔 筆記之四 這這樣乙個寬頻的網際網路世界裡,一切通訊都通過x over ip來實現。因為要通過網際網路技術來提供家庭的娛樂服務,必須將影視的內容儲存在本地的一些伺服器上。一百年後,如果人們只記得兩個對網際網路貢獻最大的人,那麼這兩個人很可能是楊志遠和戴維 菲洛。他們對世界的貢獻不只是建立了世...