操作符優先順序
下圖展示了所有操作符的執行優先順序,從高到低,同一行中的操作符優先順序相同,相同優先順序的情況下則從左到右執行,如果想改變優先順序執行順序,則可以使用括號
對比操作符
•對比操作符的執行結果為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 轉...