1. 程式人生 > >mysql mysql常用的數學函式

mysql mysql常用的數學函式

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型別資料的顯示格式