mysql常用函式

2022-06-17 20:36:07 字數 3869 閱讀 3793

操作符優先順序

下圖展示了所有操作符的執行優先順序,從高到低,同一行中的操作符優先順序相同,相同優先順序的情況下則從左到右執行,如果想改變優先順序執行順序,則可以使用括號

對比操作符

•對比操作符的執行結果為true,false,null三種

• coalesce()代表返回第乙個非null的值

• greatest()代表返回最大的值

• in()代表檢查值是否在一系列的值之中

• interval()代表返回比第乙個引數小的引數的位置

• isnull()代表檢查引數是null

• least()代表返回最小的引數

• strcmp()對比兩個字串

邏輯操作符

• 邏輯操作符返回1 (true), 0 (false), 或者null

• xor邏輯操作符

• mysql> select 1 xor 1;

• -> 0

• mysql> select 1 xor 0;

• -> 1

• mysql> select 1 xor null;

• -> null

• mysql> select 1 xor 1 xor 1;

• -> 1

流程控制函式

• 流程控制函式包含以下四種函式

語法格式:

• case value when [compare_value] then result [when [compare_value] then result ...] [else result] end

注: 當value等於compare_value時,則返回result,否則返回else裡的result,如果沒有else子句則返回null

例:mysql> select case 1 when 1 then 'one'  when 2 then 'two' else 'more' end;

mysql-> 'one'

• if(expr1,expr2,expr3)

• 當expr1為1/true時,則返回expr2,否則返回expr3

• ifnull(expr1,expr2)

• 當expr1為非null時,則返回expr1,否則返回exp2

• nullif(expr1,expr2)

• 當expr1等於expr2時,則返回null,否則返回exp1

字串函式

• char_length(str)

• 返回字串的字元長度

• concat(str1,str2,...)

• 返回括號裡所有引數字串連線在一起,當其中有引數為null時則返回null

• concat_ws(separator,str1,str2,...)

• 返回以第乙個引數為分隔符的連線後的乙個字串,當有引數為null時則null被忽略

• insert(str,pos,len,newstr)

• 將str中從pos位置開始後的len個字元替換成newstr字串

例:• mysql> select insert('quadratic', 3, 4, 'what');

• mysql-> 'quwhattic

• instr(str,substr)

• 返回str字串中第乙個出現substr字串的位置

例:• mysql> select instr('foobarbar', 'bar');

• mysql-> 4

• left(str,len)

• 返回str字串中從左邊開始的len個長度的字元

例:• mysql> select left('foobarbar', 5);

• mysql-> 'fooba'

• length(str)

• 返回str字串的byte位元組長度

• mysql> select length('text');

• mysql-> 4

• lower(str)

• 返回將str字串中所有字元變換成小寫後的字串,但對二進位制文字無效

例:• mysql> select lower('quadratically');

• mysql-> 'quadratically'

• upper(str)

• 返回將str字串中所有字元轉換成大寫的字串

例;• mysql> select upper('hej');

• mysql-> 'hej'

• ltrim(str) | rtrim(str)

• 將str最左邊|最右邊的空格去掉並返回

例:• mysql> select ltrim('   barbar');

• mysql-> 'barbar『

• replace(str,from_str,to_str)

• 將所有str字串中匹配from_str子串的地方都替換成to_str子字串

例:• mysql> select replace('www.mysql.com', 'w', 'ww');

• mysql-> 'wwwwww.mysql.com'

日期和時間函式

• adddate(date,interval expr unit), adddate(expr,days)

• 當expr為正數時則為增加時間,為負數時則為減少時間

• unit引數可以是任意時間單位

例:• mysql> select adddate('2018-01-02', interval 31 day);

• mysql-> '2018-02-02'

• date(expr)

• 獲取expr中的日期

例:• mysql> select date('2018-12-31 01:02:03');

•mysql -> '2018-12-31'

• date_add(date,interval expr unit)

• 增加時間

例:• mysql> select date_add('2018-12-31 23:59:59'  interval 1 second);

•mysql-> '2019-01-01 00:00:00'

• mysql> select date_add('2018-12-31 23:59:59' interval 1 day);

• mysql-> '2019-01-01 23:59:59'

• from_unixtime(unix_timestamp)

• 根據給定的unixtime,返回yyyy-mm-dd hh:mi:ss

• unix_timestamp(), unix_timestamp(date)

• 如果沒有date引數,則返回當前時間到1970-01-01 00:00:00之間的秒數,如果有date引數,則表示date到1970-01-01 00:00:00之間的秒數

• mysql> select unix_timestamp('2015-11-13 10:20:19');

• mysql-> 1447431619 

• date_format(date,format)

• 將date日期時間轉換成format格式

mysql 常用函式迴圈 mysql 常用函式

mysql 常用函式 數字函式 ceiling x 返回大於x的最小整數值 floor x 返回小於x的最大整數值 truncate x,y 返回數字x截短為y位小數的結果 僅僅只是截斷,不會進行四捨五入計算 聚合函式 group concat col 返回由屬於一組的列值連線組合而成的結果 字串函...

mysql常用函式哪些 MySQL常用函式彙總

數學類函式 ceil x ceilin x 進一取整 floor x 捨掉小數部分 round x,y 四捨五入 保留y位小數 mod x,y x除以y以後的餘數 abs x 取x的絕對值 power x,y pow x,y 冪運算 x的y次冪 pi 圓周率 rand 或者rand x 0 1之間的...

mysql常用轉換函式 Mysql常用函式

ip位址轉換 inet aton 將ip位址轉換成數字型 inet ntoa 將數字型轉換成ip位址 phpip位址相互轉換 ip 轉整型 ip2long 133.114.56.135 轉整型後帶符號 2056111993 bindec decbin ip2long 133.114.56.135 轉...