1. 計算日期間隔:TIMESTAMPDIFF(day,小日期,大日期)
2. 隨機(jī)取100條數(shù)據(jù): order? by rand()? limit 100
3.? 取到月份或年份的函數(shù):date_format(time, '%Y-%m-%d')='2017-11-28'
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? date_format(time, '%Y%m%d')='20171128'
4.? 身份證號信息脫敏:
? ? CONCAT(LEFT(cardid,10), '******' ,RIGHT(cardid,2))
? ? 身份證號判斷性別:
? ? case when (MOD(MID(cardid,17,1),2)=1) then "男"?
? ? ? ? ? ? ?when (MOD(MID(cardid,17,1),2)=0) then "女" else "其他" end "性別"
5.? 往一個已經(jīng)存在的表結(jié)構(gòu)里插入數(shù)據(jù):
? ? insert into? 表1 (字段A多艇,B血柳,C)
? ? select (a,b,c)? from 表2 ,
? ? 有的時候報錯Operand should contain 1 column(s)衍腥,去掉 select后的括號即可
? ? 注意:如果表1結(jié)構(gòu)里有設(shè)置主鍵假消,但在導(dǎo)入的字段里沒有包含朋截,則會報錯 Duplicate entry '' for key 'PRIMARY'瓦阐,這是調(diào)整插入的字段包括主鍵字段或更改表結(jié)構(gòu)里的主鍵即可绣版。
6.? 在當(dāng)前日期上加4天: select date_add(curdate() ,interval 4 day);
? ? ?在當(dāng)前日期上減4天: select date_sub(curdate() ,interval 4 day)
7.? 提取字段的部分字符:substring(str,pos,len)? 或者 left()搀暑、right()、mid()函數(shù)
8.? mysql篩選出某個字段值含有某個字符:locate(substr,str)形用,
? ? ?substr:要查詢的特定字符就轧,str :被查詢 的字符串
? ? ?ex:? select name,locate('a',name) from tablename;-- 如果locate返回大于0证杭,則包含字符“a”
9.? ?將字段數(shù)據(jù)設(shè)置成整數(shù)型: convert(字段,signed)
10.? 表里刪除行數(shù)據(jù):delete? from table? ?where? createTime >? "2018-01-01"
11.? 表里更新一列數(shù)據(jù):update 表名稱 set 列名稱=新值? where 列名稱=某值
12.? select?column_name,column_comment,data_type?
? ? ? from?information_schema.columns?
? ? ? where?table_name=表名;這條語句可以查詢出你想要查詢的表的字段田度,字段注釋和字段類型妒御。