聚合函數
AVG(col_name) 平均值:忽略值爲null的
COUNT(col_name) 求數量,使用*時不忽略null的行,指定字段時忽略
MAX()最大值: 忽略值爲null的行
MIN()最小值: 忽略值爲null的行
SUM(col_name) 返回指定列的全部值之和
數學
floor()向下取整
ceil()向上取整
round(,)四捨五入
truncate(,)不四捨五入
mod(,)取餘數
abs()絕對值
power(,)次方
pi()圓周率六位
rand()隨機數
sign()大於0返回1,小於0返回-1,不然爲0
exp() e的幾回方
字符串
char_length()字符數
length()字符串長度
concat()拼接字符串,包含Null,則返回值就是null
concat_wa()以指定分隔符拼接字符串
concat_wa(null,'','') 返回null
concat_wa('-','a','b',null) 返回a-b
upper()=ucase() 轉大寫
lower()=lcase() 轉小寫
reverse() 轉換大小寫
left(,)|right(,)字符串前幾個|後幾個字符
lpad(x,y,z)|rpad(x,y,z) x按y長度在前|後添加z字符
trim()|ltrim()|rtrim() 去空格
repeat(,次數) 重複指定次數
replace(x,y,z)x字符串把y字符串替換爲z
substring(x,y,z) x字符串從y開始截取z長度,y從1開始
strcmp(x,y)字符串比較
日期時間
curdate()=current_date()當前日期
如:2019-03-01
curtime()=current_time()當前時間
如:19:01:57
now()=current_timestamp()=sysdate()當前日期和時間
如:2019-03-01 19:00:16
month(curdate())當前月份
如:3
monthname(curdate())當前月份的名字
dayname(curdate())周幾名字
如:Friday
dayofweek(curdate())周幾,周天爲1
week(now())一年中第幾周
year/month/day/hour/minute/second年月日時分秒
datediff() 兩個日期相差天數
date_format(日期,"%Y%m%d")
加密函數
AES_ENCRYPT(str,key) 返回用密鑰 key 對字符串 str 利用高級加密標準算法加密後的結果,調用 AES_ENCRYPT 的結果是一個二進制字符串,以 BLOB 類型存儲
AES_DECRYPT(str,key) 返回用密鑰 key 對字符串 str 利用高級加密標準算法解密後的結果
DECODE(str,key) 使用 key 做爲密鑰解密加密字符串 str
ENCRYPT(str,salt) 使用 UNIXcrypt()函數,用關鍵詞 salt(一個能夠惟一肯定口令的字符串,就像鑰匙同樣)加密字符串 str
ENCODE(str,key) 使用 key 做爲密鑰加密字符串 str,調用 ENCODE()的結果是一個二進制字符串,它以 BLOB 類型存儲
MD5() 計算字符串 str 的 MD5 校驗和
PASSWORD(str) 返回字符串 str 的加密版本,這個加密過程是不可逆轉的,和 UNIX 密碼加密過程使用不一樣的算法。
SHA() 計算字符串 str 的安全散列算法(SHA)校驗和
其餘
version()版本
connection_id()鏈接數
database()=schema()當前數據庫
user()=current_user()=system_user()=session_user()當前用戶
last_insert_id()當前表的上一次auto_increment值
md5() password()加密
format(數字,2)千分位表示並只保留兩位小數