- 数学函数
Mysql数学函数
函数 作用 例
abs(x) 绝对值 abs(-0.5)=0.5
ceil(x),ceiling(x) 大于或等于x的最小整 数 ceil(0.5)=1,ceiling(-0.5)=0
floor(x) 小于或等于x的最大整数 floor(0.5)=0,floor(-0.5)=-1
rand() 0-1的随机数
rand(x) 0-1的随机数,x值相同时返回的随机数相同
sign(x) x的符号(-1,0,1) sign(-0.5)=- 1,sign(0)=0,sign(0.5)=1
pi() 圆周率(3.141593) pi()=3.141593
truncate(x,y) x保留到小数点后y位的值 truncate(2.55,1)=2.5
round(x) 离x最近的整数 round(2.5)=3,round(2.2)=2
round(x,y) x小数点后y位的值,(四舍五入后) round(2.55,1)=2.6
pow(x,y),power(x,y) x的y次方 power(3,2)=pow(3,2)=9
sqrt(x) x的平方根 sqrt(16)=4
exp(x) e的x次方 exp(2)=7.38905609893065
mod(x,y) x除以y以后的余数 mod(5,2)=1
log(x) 自然对数(以e为底) log(7.38905609893065)=2
log10(x) 以10为底的对数 log10(100)=2
radians(x) 角度转换为弧度 radians(180)=3.141592653589793
degrees(x) 弧度转换为角度 degrees(pi())=180
sin(x) 正弦值 sin(pi()/2)=1
asin(x) 反正弦值 asin(1)=1.5707963267948966
cos(x) 余弦值 cos(0)=1
acos(x) 反余弦值 acos(1)=0
tan(x) 正切值 tan(pi()/4)=0.9999999999999999
atan(x),atan2(x,y) 反正切值 atan(1)=atan2(1)=0.7853981633974483
cot(x) 余切值 cot(1)=0.6420926159343306
2.字符串函数
合并字符串函数 concat_ws(x,s1,s2,…)
!! 各字符串用参数 x 隔开
填充字符串函数 lpad(s1,len,s2) , rpad(s1,len,s2)
!! lpad(s1,len,s2)函数把字符串 s2 填充到 s1 的开始处,使字符串长度达到 len;
!! rpad(s1,len,s2)函数把字符串 s2 填充到 s1 的结尾处,使字符串长度达到 len;
3.日期和时间函数
3.1获取当前日期:curdate(),current_date()
获取当前时间:curtime(),current_time()
获取当前日期和时间:now(),current_timestamp(),localtime(),sysdate(),localtimestamp()
3.2unix时间戳函数
以unix时间戳形式返回当前时间:unix_timestamp()
将时间 d 以unix时间戳形式返回:unix_timestamp(d)
把unix时间戳的时间转换为普通格式的时间:from_unixtime(d)
3.3返回utc日期:utc_date()
返回utc时间:utc_time() !! utc:Universal Coordinated Time,国际协调时间
3.4获取月份:month(d),monthname(d)
3.5获取星期:dayname(d) :Monday,…
dayofweek(d) :1(周日),...
weekday(d) :0(周一),...
3.6获取星期数:week(d),weekofyear(d) :d是本年第几周
3.7获取天数:dayofyear(d) :本年第几天
dayofmonth(d) :本月第几天
3.8返回日期d中年份值:year(d)
返回日期d是本年第几季度:quarter(d)
返回时间t中小时值:hour(t)
返回时间t中分钟值:minute(t)
返回时间t中秒钟值:second(t)
3.9返回日期的指定值:extract(type from d)
type:: year :年份
month:月份
day:几号
hour:小时
minute:分钟
second:秒
3.10时间和秒钟转换
time_to_sec(t)
sec_to_time(s)
3.11计算日期和时间
(1) to_days(d) :日期d与0000年1月1日的天数
from_days(n):从0000年1月1日开始 n 天后日期
datediff(d1,d2):日期d1和d2之间相隔的天数
(2) adddate(d,n) :起始日期 d 加上 n 天的日期
subdate(d,n) :起始日期 d 减去 n 天的日期
addtime(t,n) :起始时间 t 加上 n 秒的时间
subtime(t,n) :起始时间 t 减去 n 秒的时间
(3) adddate(d,interval expr type),date_add(d,interval expr type):起始日期d加上一个时间段后日期
subdate(d,interval expr type) :起始日期d减去一个时间段后日期