mysql經常使用函數

一、數學函數算法

ABS(x)  返回 x 的絕對值
BIN(x) 

返回 x 的二進制(OCT 返回八進制,HEX 返回十六進制)安全

CEILING(x) 返回大於 x 的最小整數值
EXP(x) 返回值 e(天然對數的底)的 x 次方
FLOOR(x) 返回小於 x 的最大整數值
GREATEST(x1,x2,...,xn) 返回集合中最大的值
LEAST(x1,x2,...,xn) 返回集合中最小的值
LN(x) 返回 x 的天然對數
LOG(x,y) 返回 x 的以 y 爲底的對數
MOD(x,y) 返回 x/y 的模(餘數)
PI() 返回 pi 的值(圓周率)
RAND()

返回0到1內的隨機值,能夠經過提供一個參數(種子)使 RAND()隨機數生成器生成一個指定的值。函數

ROUND(x,y) 返回參數 x 的四捨五入的有 y 位小數的值
SIGN(x) 返回表明數字 x 的符號的值
SQRT(x) 返回一個數的平方根
TRUNCATE(x,y)  返回數字 x 截短爲 y 位小數的結果

二、聚合函數加密

AVG(col_name)   返回指定列的平均值
COUNT(col_name) 返回指定列中非 NULL 值的個數
MIN(col_name)  返回指定列的最小值
MAX(col_name) 返回指定列的最大值
SUM(col_name) 返回指定列的全部值之和

三、字符串函數字符串

ASCII(char)   返回字符的 ASCII 碼值
BIT_LENGTH(str)  返回字符串的比特長度
CONCAT(s1,s2...,sn) 將 s1,s2...,sn 鏈接成字符串
CONCAT_WS(sep,s1,s2...,sn) 將 s1,s2...,sn 鏈接成字符串,並用 sep 字符間隔
INSERT(str,x,y,instr) 

將字符串 str 從第 x 位置開始,y 個字符長的子串替換爲字符串 instr,返回結果數學

FIND_IN_SET(str,list) 

分析逗號分隔的 list 列表,若是發現 str,返回 str 在list 中的位置table

LCASE(str)或 LOWER(str) 返回將字符串 str 中全部字符改變爲小寫後的結果
LEFT(str,x)   返回字符串 str 中最左邊的 x 個字符
LENGTH(s)   返回字符串 str 中的字符數
LTRIM(str)  從字符串 str 中切掉開頭的空格
POSITION(substr,str)  返回子串 substr 在字符串 str 中第一次出現的位置
QUOTE(str) 用反斜槓轉義 str 中的單引號
REPEAT(str,srchstr,rplcstr) 返回字符串 str 重複 x 次的結果
REVERSE(str) 返回顛倒字符串 str 的結果
RIGHT(str,x)  返回字符串 str 中最右邊的 x 個字符
RTRIM(str) 返回字符串 str 尾部的空格
STRCMP(s1,s2) 比較字符串 s1 和 s2
TRIM(str) 去除字符串首部和尾部的全部空格
UCASE(str)或 UPPER(str) 返回將字符串 str 中全部字符轉變爲大寫後的結果

四、日期和時間函數隨機數

NOW()  返回當前的日期和時間
CURDATE()或 CURRENT_DATE() 返回當前的日期
CURTIME()或 CURRENT_TIME() 返回當前的時間
DATE_ADD(date,INTERVAL int keyword)

返回日期 date 加上間隔時間 int 的結果(int 必須按照關鍵字進行格式化)date

DATE_FORMAT(date,fmt) 依照指定的 fmt 格式格式化日期 date 值
FROM_UNIXTIME(ts,fmt) 根據指定的 fmt 格式,格式化 UNIX 時間戳 ts
DAYOFWEEK(date) 返回 date 所表明的一星期中的第幾天(1~7)
DAYOFMONTH(date) 返回 date 是一個月的第幾天(1~31)
DAYOFYEAR(date) 返回 date 是一年的第幾天(1~366)
QUARTER(date) 返回 date 在一年中的季度(1~4)
DAYNAME(date) 返回 date 的星期名
MONTHNAME(date) 返回 date 的月份名
YEAR(date) 返回日期 date 的年份(1000~9999)
MONTH(date)  返回 date 的月份值(1~12)
HOUR(time) 返回 time 的小時值(0~23)
WEEK(date)  返回日期 date 爲一年中第幾周(0~53)
MINUTE(time)  返回 time 的分鐘值(0~59)

五、格式化字符串二進制

%M  月名字(January……December)
%W 星期名字(Sunday……Saturday)
%D  有英語前綴的月份的日期(1st, 2nd, 3rd …)
%Y  年, 數字, 4 位
%y  年, 數字, 2 位
%a 縮寫的星期名字(Sun……Sat)
%d 月份中的天數, 數字(00……31)
%m  月, 數字(01……12)
%e  月份中的天數, 數字(0……31)
%c  月, 數字(1……12)
%b  縮寫的月份名字(Jan……Dec)
%j  一年中的天數(001……366)
%H  小時(00……23)
%k  小時(0……23)
%h  小時(01……12)
%I  小時(01……12)
%l  小時(1……12)
%i  分鐘, 數字(00……59)
%r  時間,12 小時(hh:mm:ss [AP]M)
%T 時間,24 小時(hh:mm:ss)
%S  秒(00……59)
%s  秒(00……59)
%p AM 或 PM
%w 一個星期中的天數(0=Sunday ……6=Saturday )
%U  星期(0……52), 這裏星期天是星期的第一天
%u  星期(0……52), 這裏星期一是星期的第一天
%%  一個文字「%」。

六、加密函數

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)校驗和
相關文章
相關標籤/搜索