一、数学函数
数学函数主要用于处理数字,包括整型、浮点数等。
ABS(x) abs(x) //返回x的绝对值
例:select abs(-1) – 返回1
CEIL(x),CEILING(x) cell(x),celling(x) //返回大于或等于x的最小整数
例:select CEIL(1.1) – 返回2
FLOOR(x) floor(x) //返回小于或等于x的最大整数
例:select FLOOR(1.9)-- 返回1
RAND() rand() //返回0----1的随机数
例:select RAND() --0.93099315644334
RAND(x) //以x为种子 :返回0->1的随机数,x值相同时返回的随机数相同
例:select RAND(2) --1.5865798029924
PI() pi() //返回圆周率(3.141593)
例:select PI() --3.141593
TRUNCATE(x,y) truncate(x,y) //返回数值x保留到小数点后y位的值(与ROUND最大的区别是不会进行四舍五入)
例:select truncate(1.23456,3) // 1.234,取小数点后三位的意思
ROUND(x,y) round(x,y) //保留x小数点后y位的值,但截断时要进行四舍五入
例:select ROUND(1.23456,3) – 1.235
POW(x,y).POWER(x,y) //返回x的y次方
例:select POW(2,3) – 8
SQRT(x) sqrt(x) //返回x的平方根
例:select SQRT(25) – 5
EXP(x) //返回e的x次方
例:select EXP(3) – 20.085536923188
MOD(x,y) mod(x,y) //返回x除以y以后的余数
例:select mod(5,2) – 1
二、字符串函数
字符串函数是MySQL中最常用的一类函数,字符串函数主要用于处理表中的字符串。
函数 说明
CHAR_LENGTH(s) char_length() //返回字符串s的字符数
例:select char_length(“你好123”) – 5
CONCAT(s1,s2,…) concat(s1,s2…) //将字符串s1,s2等多个字符串合并为一个字符串
例:select concat(“12”,“34”) – 1234
CONCAT_WS(x,s1,s2,…) contact_ws(x,s1,s2…) //同CONCAT(s1,s2,…)函数,但是每个字符串直接要加上x
例:select concat_ws(’@’,‘12’,‘34’) – 12@34
INSERT(s1,x,len,s2) insert(s1,x,len,s2) //将字符串s2替换s1的x位置开始长度为len的字符串
例:select insert(‘12345’,1,3,‘abc’) – abc45
UPPER(s),UCAASE(S) upper(s),ucaase(s) //将字符串s的所有字母变成大写字母
例:select upper(‘abc’) – ABC
LOWER(s),LCASE(s) lower(s),lcase(s) //将字符串s的所有字母变成小写字母
例:select lower(‘ABC’) – abc
LEFT(s,n) left(s,n) //返回字符串s的前n个字符
例:select left(“abcdef”,2) – ab
RIGHT(s,n) right(s,n) //返回字符串s的最后n个字符
例:select right(“abcde”,3) – cde
LTRIM(s) 去掉字符串s开始处的空格ltrim(s) RTRIM(s) 去掉字符串s结尾处的空格rtrim(s),
TRIM(s) 去掉字符串s开始和结尾处的空格 trim(s)
例:select trim(’@’ FROM ‘@@abc@@’) – abc
REPEAT(s,n) repeat(s,n) //将字符串s重复n次
例:select repeat(“ab”,3) – ababab
SPACE(n) //返回n个空格
例:select SPACE(3)
REPLACE(s,s1,s2) replace(s,s1,s2) //将字符串s2替代字符串s中的字符串s1
例:select replace(‘abca’,‘a’,‘x’) --xbcx,简单理解,所有的a被x替换
STRCMP(s1,s2) // 比较字符串s1和s2
例:select STRCMP(“1”,“2”) //返回-1或0或1
SUBSTRING(s,n,len) //从第n位开始截取,截取len位
例:select substring(‘abcde’,3,2) //从第3为开始截取,截取后2位
LOCATE(s1,s),POSITION(s1 IN s) //从字符串s中获取s1的开始位置
例:select locate(‘c’,‘abcde’) --3
REVERSE(s) reverse(s) //将字符串s的顺序反过来
例:select reverse(“abc”) – cba
FIELD(s,s1,s2…) field(s,s1,s2) //返回第一个与字符串s匹配的字符串位置
例:select field(‘c’,‘a’,‘b’,‘c’) – 3
三、日期时间函数
MySQL的日期和时间函数主要用于处理日期时间。
函数 说明
CURDATE(),CURRENT_DATE() //返回当前日期
例:select current_date() —>2014-12-17
select current_time() //返回当前时间
例:select curtime() --15:59:02
now(),current_timestamp() LOCALTIME(), now(),SYSDATE(),LOCALTIMESTAMP() sysdate() //返回当前日期和时间
例:select now() --2014-12-17 15:59:02
YEAR(d), year(),MONTH(d) month(),DAY(d) day() //返回日期d中的月份值,1->12
例:select month(“2010-06-10 11:00:00”) --6
MONTHNAME(d) monthname() //返回日期当中的月份名称,如Janyary
例:select monthname(“2010-06-10 11:00:00”) --June
DAYNAME(d) dayname() //返回日期d是星期几,如Monday,Tuesday
例:select dayname(“2010-06-10 11:00:00”) --Thursday
DAYOFWEEK(d) dayofweek() //日期d今天是星期几,1星期日,2星期一
select dayofweek(“2010-06-10 11:00:00”) --5
WEEKDAY(d) //星期d+1
例:select weekday(“2010-06-10 11:00:00”) //3,星期4
week //一天中的第几个星期
例:select week(“2010-06-10 11:00:00”) --23
DAYOFYEAR(d) //计算日期d是本年的第几天
例:select dayofyear(“2010-06-10 11:00:00”) --161
DAYOFMONTH(d) //计算日期d是本月的第几天
例:select dayofmonth(“2010-06-10 11:00:00”) --10
QUARTER(d) //返回日期d是第几季节,返回1->4
例:select quarter(“2010-06-10 11:00:00”) --2
HOUR(t) //返回t中的小时值
例:select hour(‘1:2:3’) --1
HOUR(t) //返回t中的分钟
例:select minute(‘1:2:3’) --2
HOUR(t) //返回t中的秒钟
例:select second(‘1:2:3’) --3
四、系统信息函数
系统信息函数用来查询MySQL数据库的系统信息。
函数 作用
VERSION() //返回数据库的版本号
例:SELECT VERSION() --5.5.49
CONNECTION_ID() //返回服务器的连接数
例:select connection_id() --64
DATABASE()、SCHEMA 返回当前数据库名
例:select database() --trade
system_user() //返回当前用户
例:select system_user() --root@localhost
五、加密函数
加密函数是MySQL用来对数据进行加密的函数。
1、PASSWORD(str)
该函数可以对字符串str进行加密,一般情况下,PASSWORD(str)用于给用户的密码加密。
select password(“123”) --*23AE809DDACAF96AF0FD78ED04B6A265E05AA257
2、MD5
MD5(str)函数可以对字符串str进行散列,可以用于一些普通的不需要解密的数据加密。
select md5(“123”) --202cb962ac59075b964b07152d234b70
3、ENCODE(str,pswd_str)与DECODE(crypt_str,pswd_str)
ENCODE函数可以使用加密密码pswd_str来加密字符串str,加密结果是二进制数,需要使用BLOB类型的字段保存。
该函数与DECODE是一对,需要同样的密码才能够解密。
SELECT ENCODE(‘123’,‘xxoo’) --;vx
SELECT DECODE(’;vx’,‘xxoo’) --123
---------------------
作者:登风360
来源:CSDN
原文:https://blog.csdn.net/qq_42626061/article/details/88880792
版权声明:本文为博主原创文章,转载请附上博文链接!