MySql 常用的函式

2021-10-16 08:59:43 字數 3438 閱讀 8272

select least(1,2,3) res;-- 取引數中的最小值

select greatest(1,2,3);-- 取引數中的最大值

select 1=0 ,'2'=2,null=1,null=null ; -- 普通的等於,相等返回1,不相等返回0,如比較的任何一方存在null,則返回null

select 1<=>0 ,'2'<=>2,null<=>1,null<=>null; -- 安全的等於,如比較的一方存在null,返回0,都為null則返回1

select

'stud' like 'stud',

'stud' like 'stu_', -- 乙個下劃線代表乙個字元

'stud' like 'stud_',

'stud' like 's%',-- 以s 開頭的匹配

'stud' like '%d'; -- 以d 結尾的匹配

select 'yyc' regexp '^y', -- 匹配以y開頭

'yyc' regexp 'c$', -- 匹配以c 結尾

'yyc' regexp '[ab]',-- 匹配包含 a 或者包含 b

'yyc' regexp '.yc';-- 匹配以yc結尾的

select concat('a','b','c') -- 結果為'abc';

select concat('a',null,'b','c') -- 結果為null; 其中任何乙個值為null 則結果為null

select concat_ws('-','a','b','c') -- 結果為'a-b-c';用-進行拼接, 結果為a-b-c

select concat_ws('-','a',null,'b','c') -- 結果為'a-b-c';用-進行拼接,如包含null 則略過 結果為a-b-c

select insert ('yyc',1,2,'ab');-- 從第1字元開始,替換2個長度的字元,替換為ab 結果為abc

select insert ('yyy',1,2,'abc');-- 從第1字元開始,替換2個長度的字元,替換為ab,如果替換的值超長了,就直接補.結果為abcy

select insert ('yyc',-1,2,'abc');-- 如果寫-1 則不進行替換 結果還是yyc

select left('yyc',2);-- 從左邊往後取2個字元,結果為yy

select right('yyc',2);-- 從右邊往前取2個字元,結果為yc

select lpad('yyc',5,"f"); -- 從左邊填充f,直到整個字元的長度達到5,結果為ffyyc

select rpad('yyc',5,"f"); -- 從右邊填充f,直到整個字元的長度達到5,結果為yycff

select ltrim(' yyc');-- 刪除左邊的所有空格 結果為yyc

select rtrim('yyc ');-- 刪除左邊的所有空格yyc

select trim(' yyc ');-- 刪除左邊何後邊的所有空格yyc

select trim('y' from 'yycyycyyy'); -- 刪除兩端的y,中間保留,結果為cyyc

select repeat('yyc',3);-- 重複生成指定數量的值, 結果為yycyycyyc

select replace('yyc','y','a');-- 用a替換 'yyc' 中的所有y,結果為aac;

select strcmp('yyc','yyc');-- 比較兩個字串,相同則返回0, 第乙個小於第二個 返回-1,第乙個大於第二個返回1

select substring('yangyongcui',5);-- 從第五個字元往後擷取,結果為yongcui

select substring('yangyongcui',-5);-- 從後往前數五個字元,然後再往後擷取所有,結果為ngcui

select substring('yangyongcui',5,4);-- 從第五個字元往後擷取4個字元,結果為yong

select substring('yangyongcui',-5,4);-- 從後往前數五個字元,然後再往後擷取4個字元,結果為ngcu

-- substring 和 substr 結果一致

select substr('yangyongcui',5);-- 從第五個字元往後擷取,結果為yongcui

select substr('yangyongcui',-5);-- 從後往前數五個字元,然後再往後擷取所有,結果為ngcui

select substr('yangyongcui',5,4);-- 從第五個字元往後擷取4個字元,結果為yong

select substr('yangyongcui',-5,4);-- 從後往前數五個字元,然後再往後擷取4個字元,結果為ngcu

select current_date(),curdate(),curdate()+0; -- 獲取當前資料庫日期 結果2021-01-17,2021-01-17,20210117;

select current_timestamp(),localtime(),now(),sysdate(); -- 獲取當前資料庫日期和時間 結果都是 2021-01-17 18:47:01

select month('2021-01-17');-- 獲取指定日期的 月份 結果是1;

select monthname('2021-01-17')-- 獲取指定日期的 月份的英文名 結果是january;

select dayname('2021-01-17');-- 獲取指定日期的 天的英文名 結果是sunday;

select dayofweek('2021-01-17');-- 獲取這一天在一周的第幾天,星期天返回1,星期一返回2

select week('2021-01-17');-- 返回值範圍是0-53 ,從週日算起,這是第三週的第一天,所以返回3

select weekofyear('2021-01-17');-- 獲取當天是屬於一年中的第幾周,這個寫法是周一算一周中的第一天,所以返回2

select dayofyear('2020-12-30');-- 獲取這一天是一年中的第幾天,返回365;

select dayofmonth('2021-01-17');-- 獲取這一天是這個月中的第幾天,返回17;

select dayofweek('2021-01-17');-- 獲取這一天是這個周的第幾天,周天是第一天,結果為1

select date_format(now(),'%y/%m/%d');-- 結果2021/01/19

select date_format(now(),'%y-%m-%d');-- 結果 2021-01-19 詳細的格式,可以參考w3school的date_format函式的說明

select version();-- 獲取系統版本

select last_insert_id();-- 執行完insert 之後,,立馬執行這個函式,可以獲取剛剛執行的這個表的自增id 的最大值

mysql 常用的函式 mysql常用的函式

1 if expr1,expr2,expr3 函式 如果 expr1 是true 則 if 的返回值為expr2 否則返回值則為 expr3。if 的返回值為數字值或字串值,具體情況視其所在語境而定。例 2 ifnull expr1,expr2 函式 如果expr1 不為 null,則 ifnull...

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之間的...