MySQL函数

来源:互联网 发布:天界翅膀进化数据 编辑:程序博客网 时间:2024/04/27 07:00

1.数学函数

 (1)ABS(x) 返回x的绝对值

 (2)CEIL(x),CEILING(x) 返回大于或等于x的最小整数

 (3)FLOOR(x) 返回小于或等于x的最大整数

 (4)RAND() 返回0~1的随机数

 (5)RAND(x) 返回0~1的随机数,x值相同时返回的随机数相同

 (6)SIGN(x) 返回x的符号,x是负数、0、正数分别返回-1、0、1

 (7)PI() 返回圆周率(3.141593)

 (8)TRUNCATE(x,y) 返回数值x保留到小数点后y位的值,不进行四舍五入的处理

 (9)ROUND(x) 返回离x最近的整数

 (10)ROUND(x,y) 保留x小数点后y位的值,截断时要进行四舍五入

 (11)POW(x,y),POWER(x,y) 返回x的y次方

 (12)SQRT(x) 返回x的平方根

 (13)EXP(x) 返回e的x次方

 (14)MOD(x,y) 返回x除以y以后的余数

 (15)LOG(x) 返回自然对数(以e为底的对数)

 (16)LOG10(x) 返回以10为底的对数

 (17)RADIANS(x) 将角度转换为弧度

 (18)DEGREES(x) 将弧度转换为角度

 (19)SIN(x) 求正弦值

 (20)ASIN(x) 反正弦值

 (21)COS(x) 余弦值

 (22)ACOS(x) 反余弦值

 (23)TAN(x) 正切值

 (24)ATAN(x),ATAN2(x,y) 求反正切值

 (25)COT(x) 余切值

2.字符串函数

 (1)CHAR_LENGTH(s) 返回字符串s的字符数

 (2)LENGTH(s) 返回字符串s的长度,即字符数,而不是指字符串s占用的空间

 (3)CONCAT(s1,s2,...) 将字符串s1,s2等多个字符串合并为一个字符串

 (4)CONCAT_WS(x,s1,s2,...) 同CONCAT()函数,但是每个字符串之间要加上x

 (5)INSERT(s1,x,len,s2) 将字符串s2替换s1的x位置开始长度为len的字符串

 (6)UPPER(s),UCASE(s) 将字符串s的所有字母都变成大写字母

 (7)LOWER(s),LCASE(s) 将字符串s的所有字母变成小写字母

 (8)LEFT(s,n) 返回字符串s的前n个字符

 (9)RIGHT(s,n) 返回字符串s的后n个字符

 (10)LPAD(s1,len,s2) 字符串s2来填充s1的开始处,使字符长度打到len

 (11)RPAD(s1,len,s2) 字符串s2来填充s1的结尾处,使字符长度打到len

 (12)LTRIM(s) 去掉字符串s开始处的空格

 (13)RTRIM(s) 去掉字符串s结尾处的空格

 (14)TRIM(s) 去掉字符串s开始处和结尾处的空格

 (15)TRIM(s1 FROM s) 去掉字符串s开始处和结尾处的字符串s1

 (16)REPEAT(s,n) 将字符串s重复n次

 (17)SPACE(n) 返回n个空格

 (18)REPLACE(s,s1,s2) 用字符串s2替换字符串s中的字符串s1

 (19)STRCMP(s1,s2) 比较字符串s1和s2

 (20)SUBSTRING(s,n,len),MID(s,n,len) 获取从字符串s中的第n个位置开始长度为len的字符串

 (21)LOCATE(s1,s),POSITION(s1 IN s),INSTR(s,s1) 从字符串s中获取s1的开始位置

 (22)REVERSE(s) 将字符串s的顺序反过来

 (23)ELT(n,s1,s2,...) 返回第n个字符串

 (24)FIELD(s,s1,s2,...) 返回第一个与字符串s匹配的字符串位置

 (25)FIND_IN_SET(s1,s2) 返回在字符串s2中与s1匹配的字符串的位置

 (26)MAKE_SET(x,s1,s2,...) 按x的二进制数(从右向左)从s1,s2,...,sn中选取字符串

3.日期和时间函数

 (1)CURDATE(),CURRENT_DATE() 返回当前日期

 (2)CURTIME(),CURRENT_TIME() 返回当前时间

 (3)NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),SYSDATE(),LOCALTIMESTAMP() 返回当前日期和时间

 (4)UNIX_TIMESTAMP() 已UNIX时间戳的形式返回当前时间

 (5)UNIX_TIMESTAMP(d) 将时间d以UNIX时间戳的形式返回

 (6)FORM_UNIXTIME(d) 把UNIX时间戳的时间转换为普通格式的时间

 (7)UTC_DATE() 返回UTC(国际协调时间)日期

 (8)UTC_TIME() 返回UTC时间

 (9)MONTH(d) 返回日期d中的月份值,范围是1~12

 (10)MONTHNAME(d) 返回日期d中的月份名称,如January,February

 (11)DAYNAME(d) 返回日期d是星期几,如Monday,Tuesday

 (12)DAYOFWEEK(d) 返回日期d是星期几,1表示星期如,2表示星期一

 (13)WEEKDAY(d) 返回日期d是星期几,0表示星期一,1表示星期二

 (14)WEEK(d) 计算日期d是本年的第几个星期,范围是0~53

 (15)WEEKOFYEAR(d) 计算日期d是本年的第几个星期,范围是1~53

 (16)DAYOFYEAR(d) 计算日期d是本年的第几天

 (17)DAYOFMONTH(d) 计算日期d是本月的第几天

 (18)YEAR(d) 返回日期d中年份值

 (19)QUARTER(d) 返回日期d是第几季度,范围是1~4

 (20)HOUR(t),MINUTE(t),SECOND(t) 返回时间t中的小时值,分钟值,秒钟值

 (21)EXTRACT(type FROM d) 从日期d中获取指定的值,type指定返回的值,如YEAR,HOUR

 (22)TIME_TO_SEC(t) 将时间t转换为秒

 (23)SEC_TO_TIME(s) 将以秒为单位的时间s转换为时分秒的格式

 (24)TO_DAYS(d) 计算日期d~0000年1月1日的天数

 (25)FROM_DAYS(n) 计算从0000年1月1日开始n天后的日期

 (26)DATEDIFF(d1,d2) 计算日期d1~d2之间相隔的天数

 (27)ADDDATE(d,n) 计算起始日期d加上n天后的日期

 (28)ADDDATE(d,INTERVAL expr type),DATE_ADD(d,INTERVAL expr type) 计算起始日期d加上一个时间段后的如期

 (29)SUBDATE(d,n) 计算起始日期d减去n天后的日期

 (30)SUBDATE(d,INTERVAL expr type) 计算起始日期减去一个时间段后的日期

 (31)ADDTIME(t,n) 计算起始时间t加上n秒的时间

 (32)SUBTIME(t,n) 计算起始时间t减去n秒后的时间

 (33)DATE_FORMAT(d,f) 按照表达式f的要求显示日期d

 (34)TIME_FORMAT(d,f) 按照表达式f的要求显示时间d

 (35)GET_FORMAT(type,s) 根据字符串s获取type类型数据的显示格式

4.条件判断函数

 (1)IF(expr,v1,v2) 如果表达式expr成立,返回结果v1;否则,返回结果v2

 (2)IFNULL(v1,v2) 如果v1不为空,就显示v1的值,否则就显示v2

 (3)CASE WHEN expr1 THEN v1 [WHEN expr2 THEN v2...] [ELSE vn] END CASE表示函数开始,END表示函数结束。如果

          表达式expr1成立,返回v1.如果expr2成立,返回v2.最后遇到ELSE时返回vn

5.系统信息函数

 (1)VERSION() 返回数据库版本号

 (2)CONNECTION_ID() 返回服务器的连接数

 (3)DATABASE(),SCHEMA() 返回当前数据库名

 (4)USER(),SYSTEM_USER(),SESSION_USER(),CURRENT_USER(),CURRENT_USER 返回当前用户

 (5)CHARSET(str) 返回字符串str的字符集

 (6)COLLATION(str) 返回字符串str的字符排列方式

 (7)LAST_INSERT_ID() 返回最近生成的AUTO_INCREMENT值

6.加密函数

 (1)PASSWORD(str) 一般给用户密码加密

 (2)MD5(str) 主要对普通的数据进行加密

 (3)ENCODE(str,pswd_str) 使用字符串pswd_str来加密字符串str,加密的结果是一个二进制数,必须使用

          BLOB类型的字段来保存它

 (4)DECODE(crypt_str,pswd_str) 使用字符串pswd_str来为crypt_str解密

7.其它函数

 (1)FORMAT(x,n) 对数字x进行格式化,将x保留到小数点后n位,截断时需要进行四舍五入处理

 (2)ASCII(s) 返回字符串s的第一个字符的ASCII码

 (3)BIN(x),HEX(x),OCT(x) 返回x的二进制编码,十六进制编码,八进制编码

 (4)CONV(x,f1,f2) 将x从f1进制数变成f2进制数

 (5)INET_ATON(IP) 将IP地址转换为数字表示

 (6)INET_NTON(n) 将数字n转换为IP形式

 (7)GET_LOCK(name,time) 定义一个名称为name,持续时间长度为time秒的锁,成功返回1,尝试超时返回0,遇到错误返回NULL

 (8)RELEASE_LOCK(name) 解除名称为name的锁。成功返回1,尝试超时返回0,解锁失败返回NULL

 (9)IS_FREE_LOCK(name) 判断是否使用名为name的锁,使用返回0,否则返回1

 (10)BENCHMARK(count,expr) 将表达式expr重复执行count次,然后返回执行时间

 (11)CONVERT(s USING cs) 将字符串s的字符集变成cs

 (12) CAST(x AS type),CONVERT(x,type) 将x变成type类型。只对BINARY、CHAR、DATE、DATETIME、TIME、SIGNED INTEGER、

           UNSIGNED INTEGER 这些类型起作用

0 0
原创粉丝点击