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类型数据的显示格式

猜你喜欢

转载自www.cnblogs.com/ljt1412451704/p/12176155.html
今日推荐