mysql mysql常用的數學函式
阿新 • • 發佈:2019-05-26
1. 數學函式
函 數 | 作 用 |
---|---|
ABS(x) | 返回x的絕對值 |
CEIL(x),CEILIN(x) | 返回不小於x的最小整數值 |
FLOOR(x) | 返回不大於x的最大整數值 |
RAND() | 返回0~1的隨機數 |
RAND(x) | 返回0~1的隨機數,x值相同返回時返回的隨機數相同 |
SIGN(x) | 返回引數作為-1、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的餘切 |
2. 字串函式
函 數 | 作 用 |
---|---|
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匹配的字串的位置 |
3. 日期和時間函式
函 數 | 作 用 |
---|---|
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型別資料的顯示格式 |