MySQL 函式
MySQL 包含許多內建函式。
本參考包含 MySQL 中的字串、數字、日期和一些高階函式。
MySQL 字串函式
函式 | 描述 |
---|---|
ASCII | 返回特定字元的 ASCII 值 |
CHAR_LENGTH | 返回字串的長度(以字元為單位) |
CHARACTER_LENGTH | 返回字串的長度(以字元為單位) |
CONCAT | 將兩個或多個表示式連線在一起 |
CONCAT_WS | 使用分隔符將兩個或多個表示式連線在一起 |
FIELD | 返回值在值列表中(List of values)的位置索引 |
FIND_IN_SET | 返回字串在字串列表中的位置 |
FORMAT | 將數字格式化為類似“#,###,###.##”的格式,並四捨五入到指定的小數位數 |
INSERT | 在指定位置和指定字元數內,將一個字串插入到另一個字串中 |
INSTR | 返回一個字串在另一個字串中的首次出現的位置 |
LCASE | 將字串轉換為小寫 |
LEFT | 從字串(從左側開始)中提取指定數量的字元 |
LENGTH | 返回字串的長度(以位元組為單位) |
LOCATE | 返回子字串在字串中的首次出現的位置 |
LOWER | 將字串轉換為小寫 |
LPAD | 使用另一個字串左填充字串,直到達到指定長度 |
LTRIM | 從字串中刪除前導空格 |
MID | 從字串中提取子字串(從任何位置開始) |
POSITION | 返回子字串在字串中的首次出現的位置 |
REPEAT | 將字串重複指定的次數 |
REPLACE | 在字串中替換所有出現的子字串為一個新的子字串 |
REVERSE | 反轉字串並返回結果 |
RIGHT | 從字串(從右側開始)中提取指定數量的字元 |
RPAD | 使用另一個字串右填充字串,直到達到指定長度 |
RTRIM | 從字串中刪除尾隨空格 |
空格 | 返回指定數量空格的字串 |
STRCMP | 比較兩個字串 |
SUBSTR | 從字串中提取子字串(從任何位置開始) |
SUBSTRING | 從字串中提取子字串(從任何位置開始) |
SUBSTRING_INDEX | 在指定數量的分隔符出現之前返回字串的子字串 |
TRIM | 移除字串的開頭和結尾的空格 |
UCASE | 將字串轉換為大寫 |
UPPER | 將字串轉換為大寫 |
MySQL 數值函式
函式 | 描述 |
---|---|
ABS | 返回數字的絕對值 |
ACOS | 返回數字的反正餘弦值 |
ASIN | 返回數字的反正弦值 |
ATAN | 返回一個或兩個數字的反正切值 |
ATAN2 | 返回兩個數字的反正切值 |
AVG | 返回表示式的平均值 |
CEIL | 返回大於或等於某數字的最小整數值 |
CEILING | 返回大於或等於某數字的最小整數值 |
COS | 返回數字的餘弦值 |
COT | 返回數字的餘切值 |
COUNT | 返回 select 查詢返回的記錄數 |
DEGREES | 將弧度值轉換為度 |
DIV | 用於整數除法 |
EXP | 返回 e 的指定次冪 |
FLOOR | 返回小於或等於某個數字的最大整數值 |
GREATEST | 返回引數列表中最大的值 |
LEAST | 返回引數列表中最小的值 |
LN | 返回數字的自然對數 |
LOG | 返回數字的自然對數,或指定底數的對數 |
LOG10 | 返回以 10 為底的數字的自然對數 |
LOG2 | 返回以 2 為底的數字的自然對數 |
MAX | 在一組值中返回最大值 |
MIN | 在一組值中返回最小值 |
MOD | 返回一個數除以另一個數的餘數 |
PI | 返回 PI 的值 |
POW | 返回一個數字的另一個數字次冪的值 |
POWER | 返回一個數字的另一個數字次冪的值 |
RADIANS | 將度數轉換為弧度 |
RAND | 返回一個隨機數 |
ROUND | 將一個數字四捨五入到指定的小數位數 |
SIGN | 返回數字的符號 |
SIN | 返回數字的正弦值 |
SQRT | 返回數字的平方根 |
SUM | 計算一組值的總和 |
TAN | 返回數字的正切值 |
TRUNCATE | 將數字截斷到指定的小數位數 |
MySQL 日期函式
函式 | 描述 |
---|---|
ADDDATE | 向日期新增時間/日期間隔,然後返回日期 |
ADDTIME | 將時間間隔新增到時間/日期時間,然後返回該時間/日期時間 |
CURDATE | 返回當前日期 |
CURRENT_DATE | 返回當前日期 |
CURRENT_TIME | 返回當前時間 |
CURRENT_TIMESTAMP | 返回當前日期和時間 |
CURTIME | 返回當前時間 |
DATE | 從日期時間表達式中提取日期部分 |
DATEDIFF | 返回兩個日期值之間的天數 |
DATE_ADD | 向日期新增時間/日期間隔,然後返回日期 |
DATE_FORMAT | 格式化日期 |
DATE_SUB | 從日期中減去一個時間/日期間隔,然後返回日期 |
DAY | 返回給定日期的月份中的日期 |
DAYNAME | 返回給定日期的星期名稱 |
DAYOFMONTH | 返回給定日期的月份中的日期 |
DAYOFWEEK | 返回給定日期的星期索引 |
DAYOFYEAR | 返回給定日期的年份中的日期 |
EXTRACT | 從給定日期中提取一部分 |
FROM_DAYS | 從數字日期值返回日期 |
HOUR | 返回給定日期的小時部分 |
LAST_DAY | 提取給定日期的月份的最後一天 |
LOCALTIME | 返回當前日期和時間 |
LOCALTIMESTAMP | 返回當前日期和時間 |
MAKEDATE | 根據年份和天數建立並返回日期 |
MAKETIME | 根據小時、分鐘和秒值建立並返回時間 |
MICROSECOND | 返回時間/日期時間的微秒部分 |
MINUTE | 返回時間/日期的分鐘部分 |
MONTH | 返回給定日期的月份部分 |
MONTHNAME | 返回給定日期的月份名稱 |
NOW | 返回當前日期和時間 |
PERIOD_ADD | 將指定月數新增到週期 |
PERIOD_DIFF | 返回兩個週期之間的差值 |
QUARTER | 返回給定日期值的年份中的季度 |
SECOND | 返回時間/日期的秒部分 |
SEC_TO_TIME | 根據指定的秒數返回時間值 |
STR_TO_DATE | 根據字串和格式返回日期 |
SUBDATE | 從日期中減去一個時間/日期間隔,然後返回日期 |
SUBTIME | 從日期時間中減去一個時間間隔,然後返回該時間/日期時間 |
SYSDATE | 返回當前日期和時間 |
TIME | 從給定的時間/日期時間中提取時間部分 |
TIME_FORMAT | 根據指定格式格式化時間 |
TIME_TO_SEC | 將時間值轉換為秒 |
TIMEDIFF | 返回兩個時間/日期時間表達式之間的差值 |
TIMESTAMP | 根據日期或日期時間值返回日期時間值 |
TO_DAYS | 返回日期與日期“0000-00-00”之間的天數 |
WEEK | 返回給定日期的週數 |
WEEKDAY | 返回給定日期的星期索引 |
WEEKOFYEAR | 返回給定日期的週數 |
YEAR | 返回給定日期的年份部分 |
YEARWEEK | 返回給定日期的年份和週數 |
MySQL 高階函式
函式 | 描述 |
---|---|
BIN | 返回數字的二進位制表示 |
BINARY | 將值轉換為二進位制字串 |
CASE | 檢查條件並返回第一個滿足條件的條件下的值 |
CAST | 將一個值(任何型別)轉換為指定的資料庫型別 |
COALESCE | 返回列表中的第一個非 NULL 值 |
CONNECTION_ID | 返回當前連線的唯一連線 ID |
CONV | 將數字從一個數值基系統轉換為另一個 |
CONVERT | 將值轉換為指定的日期型別或字元集 |
CURRENT_USER | 返回伺服器用於身份驗證當前客戶端的 MySQL 帳戶的使用者名稱和主機名 |
DATABASE | 返回當前資料庫的名稱 |
IF | 如果條件為 TRUE,則返回一個值,否則返回另一個值 |
IFNULL | 如果表示式為 NULL,則返回指定的值,否則返回表示式 |
ISNULL | 根據表示式是否為 NULL 返回 1 或 0 |
LAST_INSERT_ID | 返回已插入表中最後一條記錄的 AUTO_INCREMENT ID |
NULLIF | 比較兩個表示式,如果它們相等則返回 NULL。否則,返回第一個表示式 |
SESSION_USER | 返回當前的 MySQL 使用者名稱和主機名 |
SYSTEM_USER | 返回當前的 MySQL 使用者名稱和主機名 |
USER | 返回當前的 MySQL 使用者名稱和主機名 |
VERSION | 返回 MySQL 資料庫的當前版本 |