MySQL之單行函式的使用

2021-10-01 09:45:23 字數 3848 閱讀 3912

a.字元函式

(1)concat(

) 拼接字串

例如:select concat(

'地點:'

,城市或地區,

' 人口:'

,人口(萬人),

'萬人'

) from sheet1;(2

)length(

)計算字串的長度

例如:select * from sheet1 where length(人口(萬人))=6

;(3)lower(

) upper(

)轉換大小寫

(4)replace(

)在指定的字串中,將某子串替換為新的字串

replace(目標字串,查詢的子串,新字串)

例如:select replace(

'北京最好'

,'北京'

,'北平');

結果:北平最好

(5)substring(

)擷取子串

substring(目標字串,開始位置,長度)

注意:開始索引是從1開始,不是0

例如:select substring(城市或地區,1,

3) from sheet1;

結果: 上海市

北京市成都市

.....

.

b.數值函式

(1)abs(

) 作用:取絕對值

例如:select abs(1

),abs(-1

)(2)pi(

) 作用:獲取圓周率

例如:select pi()(

3)mod(

) 作用:取模

例如:select mod(3,

2)(4

)pow()

作用:求乙個數的n次方

例如:select pow(3

,2)(

5)ceil(

) floor(

) ceil(

):向上取整

floor(

):向下取整

例如:select ceil(

5.43

),floor(

5.7)(6

)round()

round

(num)

:返回四捨五入的整數

round

(num,n):返回四捨五入n位小數

例如:select round

(5.4),

round

(6.8),

round

(5.34,1

),round

(6.789,2

)(7)truncate(

) truncate(num,n) 其中n的取值可以是0,1

,2..如果n取值為0代表擷取整數

例如:select truncate(

5.3,0)

,truncate(

5.67,1

),truncate(

5.789,2

)(8)rand(

) 作用:獲取浮點型別的隨機數,範圍0

-1.0 其中包括0但不包括1

例如:select rand(

),rand(

),rand(

)

c.日期時間函式

(1)now(

)獲取當前日期和時間 包括年月日 時分秒

例如 select now()(

2)curdate(

)獲取當前日期 只包括年月日

例如:select curdate()(

3)curtime(

)獲取當前時間 只包括時分秒

例如:select curtime();

(4)sysdate(

)獲取函式執行時的日期和時間

now(

)獲取sql執行時的日期和時間

例如:select sysdate(

),now(

) select sysdate(

),now(

),sleep(2)

,sysdate(

),now()(

5)dayofyear(

)獲取某個日期是所在年份的第幾天

week(

)獲取某個日期是所在年份的第幾周

例如:select dayofyear(now())

,week(now())

(6)datediff(

)計算兩個日期之間的時間間隔

例如:計算2019-1

-1距離現在時間間隔

select datediff(

'2019-1-1'

,now())

(7)date_add(

) date_sub(

) 實現日期的加減運算

date_add(日期,時間間隔型別關鍵字interval 時間間隔型別對應的表示式 時間間隔型別)

例如 day_hour 1_12 代表 1天12小時

year_month 2_1 代表 2年1個月

select date_add(now(

),interval '2_1' year_month)

select date_sub(now(

),interval 10 day)

(1)

if(條件,t,f) 如果條件成立返回t,否則返回f

例如:select if(1

>2,

'1大於2'

,'1小於2'

) 查詢雇員的薪資,如果薪資》=

3000 輸入'高薪' 否則'低薪'

select sal from emp;

select sal,

if(sal>=

3000

,'高薪'

,'低薪'

)'薪資水平'

from emp;(2

)ifnull(值1

,值2) 如果值1不為空則返回值1,否則返回值2

查詢雇員的年薪

select sal*

12from emp;

select (sal+comm)*12

from emp;

select (sal+ifnull(comm,0)

)*12from emp;(3

)nullif(值1

,值2) 如果值1等於值2返回null,否則返回值1

例如 select nullif(1,

2),nullif(1,

1)(4

) case 值

when 值1 then 結果1

when 值2 then 結果2..

.else 其他結果

end例如: select case 1

when 1 then '結果是1'

when 2 then '結果是2'

else

'其他結果'

end (5

) case

when 條件 then 結果1

when 條件 then 結果2..

...else 其他結果

end例如:查詢雇員薪資 如果薪資》=

3000返回 '高薪' 否則'低薪'

select sal,case

when sal>=

3000 then '高薪'

else

'低薪'

end '薪資水平'

from emp;

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

2.數學函式 3.日期函式 4.其他函式 5.流程控制函式 注 date format函式引數說明 呼叫 select 函式名 實參列表 from 表 特點 1 函式名 2 函式功能 分類 單行函式 如concat length ifnull等,傳乙個引數進去會有乙個返回值 分組函式 又名統計函式 ...

mysql 行函式 MySQL 單行函式

lower hellowrold upper helloworld 字元控制函式 select replace abcdababab p m 將 abcdababab 中的字元p替換成m select trim from hhhhhello.hhhworldhhhhh 去掉兩邊的空格。select ...

MySQL 常見函式(單行函式)

二,數學函式 三,日期函式 四,其他函式 五,流程控制函式 select 函式名 實參列表 from 表 1,單行函式 如concat,length,ifnull等 2,分組函式 又稱為統計函式,聚合函式,組函式 功能 做統計使用一,字元函式 1,length 函式 int length strin...