函 數 | 做 用 |
---|---|
ABS(x) | 返回x的絕對值 |
CEIL(x),CEILIN(x) | 返回不小於x的最小整數值 |
FLOOR(x) | 返回不大於x的最大整數值 |
RAND() | 返回0~1的隨機數 |
RAND(x) | 返回0~1的隨機數,x值相同返回時返回的隨機數相同 |
SIGN(x) | 返回參數做爲-一、0、1的符號,該符號取決於x的值爲負、零或者正 |
PI() | 返回圓周率PI,默認顯示小數位數是7位,mysql內部會使用徹底雙精度值 |
TRUNCATE(x,y) | 返回數值x保留到小數點後y位值 |
ROUND(x) | 返回離x最近的整數 |
ROUND(x,y) | 保留x小數點後y位的值,但截斷時要進行四捨五入 |
POW(x,y),POWER(x,y) | 返回x的y乘方的結果 |
SQRT(x) | 返回非負數x的二次方根 |
EXP(x) | 返回e(天然對數的底)的x乘方後的值 |
MOD(x,y) | 返回x除以y之後的餘數 |
LOG(x) | 返回x的基數爲2的對數 |
LOG10(x) | 返回x的基數爲10的對數 |
RADIANS(x) | 將角度轉換爲弧度 |
DEGREES(x) | 將弧度轉換爲角度 |
SIN(x) | 返回x的正弦,其中x在弧度中被給定 |
ASIN(x) | 返回x的反正弦,即正弦爲x的值。x不在-1~1的話就返回null |
COS(x) | 返回x的餘弦,其中x在弧度中被給定 |
ACOS(x) | 返回x的反餘弦,即餘弦爲x的值。x不在-1~1的話就返回null |
TAN(x) | 返回反正切值,即正切爲x的值 |
ATAN(x),ATAN(x,y) | 返回兩個變量x及y的反正切。 |
COT(x) | 返回x的餘切 |
函 數 | 做 用 |
---|---|
CHAR_LENGTH(s) | 返回字符串s的字符數(用於查詢字符串長度) |
LENGTH(s) | 返回字符串的字節數 |
CONCAT(s1,s2..) | 將幾個字符串拼接起來,若一個爲null則返回null |
CONCAT_WS(x,s1,s2..) | 同concat(s1,s2..)函數,可是每一個字符串拼接的中要加上x |
INSERT(s1,x,len,s2) | 將字符串s2替換s1的x位置開始長度爲len的字符串 |
UPPER(s),UCASE(s) | 將字符串s的全部字母都變成大寫 |
LOWER(s),LCASE(s) | 將字符串s的全部字母都變成小寫 |
LEFT(s,n) | 返回字符串左邊的n個字符串 |
RIGHT(s,n) | 返回字符串右邊的n個字符串 |
LTRIM(s) | 返回去除了左邊空格的s |
RTRIM(s) | 返回去除了右邊空格的s |
TRIM(s) | 返回去除兩邊的空格的s |
TRIM(s1 FROM s) | 返回去除了兩邊s1的s |
REPEAT(s,n) | 將字符串s重複n次 |
SPACE(n) | 返回n個空格 |
replace(s,s1,s2) | 用s2代替s中的s1 |
STRCMP(s1,s2) | 比較字符串s1和s2長度,s1長於s2則返回1,s2長於s1則返回-1,相等則返回0 |
SUBSTRING(s,n,len) | 獲取從字符串s的第n個位置開始長度爲len的字符串 |
MID(s,n,len) | 同SUBSTRING(s,n,len) |
LOCATE(s1,s),POSITION(s1 IN s) | 找到s中s1的位置 |
INSTER(s,s1) | 查找字符串s1在s中的位置,返回首次出現位置的索引值 |
REVERSE(s) | 將字符串s的順序反過來 |
ELT(n,s1,s2) | 返回第n個字符串 |
FIELD(s,s1,s2..) | 返回第一個與字符串s匹配的字符串的位置 |
FIND_IN_SET(s1,s2) | 返回在字符串s2中與s1匹配的字符串的位置 |
函 數 | 做 用 |
---|---|
CURDATE(),CURRENT_DATE() | 返回當前時間 |
CURTIME(),CURRENT_TIME() | 返回當前時間 |
NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),SYSDATE(),LOCALTIMESTAMP() | 返回當前日期和時間 |
UNIX_TIMESTAMP() | 以unix時間戳形式返回當前時間 |
UNIX_TIMESTAMP(d) | 將時間d以unix時間戳形式返回 |
FROM_UNIXTIME(d) | 將unix時間戳的時間轉換爲普通格式的時間 |
UTC_DATE() | 返回UTC日期 |
UTC_TIME() | 返回UTC時間 |
MONTH(d) | 返回日期d中的月份值,範圍0~12 |
MONTHNAME(d) | 返回日期d中的月份名稱 |
DAYNAME(d) | 返回日期d是星期幾 |
DAYOFWEEK(d) | 返回日期d是星期幾,1是星期天,2是星期一 |
WEEKDAY(d) | 返回日期d是星期幾,0是星期一,1是星期二 |
WEEK(d) | 計算日期d是本年的第幾個星期,範圍0~53 |
WEEKOFYEAR(d) | 計算日期d是本年的第幾個星期,範圍1~53 |
DAYOFYEAR(d) | 計算日期d是本年的第幾天 |
DAYOFMONTH(d) | 計算日期d是本月的第幾天 |
YEAR(d) | 返回年份值 |
QUARTER(d) | 返回日期d是第幾個季度,範圍1~4 |
HOUR(t) | 返回時間t中的小時值 |
MINUTE(t) | 返回時間t中的分鐘值 |
SECOND(t) | 返回時間t中的秒鐘值 |
EXTRACT(type of d) | 從日期d中獲取指定的值,type能夠是YEAR,HOUR等 |
TIME_TO_SEC(t) | 將時間t轉換爲秒 |
SEC_TO_TIME(s) | 秒值s轉換爲時間格式 |
TO_DAYS(d) | 計算d~0000年1月1日的天數 |
FROM_DAYS(n) | 計算從0000年1月1日開始n天后的日期 |
DATEDIFF(d1,d2) | 計算日期d1~d2之間相隔的天數 |
ADDDATE(d,n) | 計算起始日期d加上n天的日期 |
SUBDATE(d,n) | 計算起始日期d減去n天的日期 |
ADDTIME(t,n) | 計算起始時間t加上n秒的時間 |
SUBTIME(t,n) | 計算起始時間t減去n秒的時間 |
DATE_FORMAT(d,f) | 按照表達式f的要求顯示日期d |
TIME_FORMAT(t,f) | 按照表達式f的要求顯示時間t |
GET_FORMAT(type,s) | 根據字符串s中獲取type類型數據的顯示格式 |
函 數 | 做 用 |
---|---|
IF(expr,v1,v2) | 若是表達式expr成立,則執行v1;不然執行v2 |
IFNULL(v1,v2) | 若是v1不爲空,則顯示v1的值;不然顯示v2的值 |
CASE WHEN expr1 THEN v1[WHEN expr2 THEN v2][ELSE vn]END | CASE表示函數開始,END表示函數結束。若是expr1成立,則返回v1的值。相似if(..)..else if(..)..else.. |
CASE expr WHEN e1 THEN v1[WHEN e2 THEN v2][ELSE vn]END | 相似於switch..case v1:..break |
函 數 | 做 用 | 示 例 |
---|---|---|
VERSION() | 獲取數據庫版本號 | select VERSION(); |
CONNECTION_ID() | 獲取服務器的鏈接數 | select CONNECTION_ID(); |
DATABASE(),SCHEMA() | 獲取當前數據庫名 | select DATABASE(),SCHEMA() |
USER(),SYSTEM()_USER(),SESSION_USER(),CURRENT_USER() | 獲取當前用戶 | select USER(); |
CHARSET(str)) | 獲取字符串str的字符集 | select CHARSET('mysql') |
COLLATION(str) | 獲取字符串str的字符排列順序 | select COLLATION('mysql') |
LAST_INSERT_ID() | 獲取最近生成的auto_increment值 | select LAST_INSERT_ID() |
函 數 | 做 用 | 示 例 |
---|---|---|
PASSWORD(str) | 對字符串str進行加密。通過次函數加密是不可逆的,其經常用於用戶註冊的密碼加密 | select PASSWORD('mysql'); |
MD5(str) | 對字符串進行md5加密。常常用於對普通數據的加密 | select MD5('mysql'); |
函 數 | 做 用 |
---|---|
FORMAT(x,n) | 將數據進行格式化,將x保留到小數點後n位,四捨五入 |
ASCII(s) | ASCII(s)返回字符串s的第一個字符的ASCII碼 |
BIN(x) | 返回x的二進制編碼 |
HEX(x) | 返回x的十六進制編碼 |
OCT(x) | 返回八進制編碼 |
CONCV(x,f1,f2) | 將數x從f1進制編程f2進制數 |
INET_ATION(IP) | 能夠將IP地址轉換爲數字表示 |
INET_NTOA(N) | 能夠將數字n轉換成IP |