MySql常用函数

字符串函数

函数功能示例结果
CONCAT(S1、S2、…Sn)连接S1、S2、…Sn为一个字符串select concat (‘aaa’,‘bbb’,‘ccc’) , concat (‘aaa’,null);aaabbbccc , null(任何字符串与NULL进行连接的结果都是NULL)
INSERT(str,x,y,instr)将字符串str从第x位置开始,y个字符长的子串替换为字符串instrselect INSERT(‘beijing2020you’,12,3,‘me’)beijing2020me
LOWER(str)将字符串str中所有字符变为小写select LOWER(‘BEIJING’)beijing
UPPER(str)将字符串str中所有字符变为大写select UPPER(‘beijing’)BEIJING
LEFT(str,x)返回字符串str最左边的x个字符select LEFT(‘beijing’,3)bei
RIGHT(str,x)返回字符串str最右边的x个字符select RIGHT(‘beijing’,4)jing
LPAD(str,n,pad)用字符串pad对str最左边进行填充,直到长度为n个字符长度select lpad(‘2020’,20,‘beijing’)beijingbeijingbe2020
RPAD(str,n,pad)用字符串pad对str最右边进行填充,直到长度为n个字符长度select rpad(‘beijing’,20,‘2020’)beijing2020202020202
LTRIM(str)去掉字符串str左侧的空格select ltrim(’ *beijing’)*beijing
RTRIM(str)去掉字符串str右侧的空格select rtrim('beijing* ')beijing*
REPEAT(str,x)返回str重复x次的结果select repeat(‘beijing’, 3)beijing beijing beijing
REPLACE(str,a,b)用字符串b替换字符串str中所有出现的字符串aselect replace(‘beijing’,‘j’,’**’)bei**ing
STRCMP(s1,s2)比较字符串s1和s2select strcmp(‘a’,‘b’)-1(比较ASCII码)
TRIM(str)去掉字符串行尾和行头的空格select trim(’ * beijing * ')* beijing *
SUBSTRING(str,x,y)返回从字符串str x位置起y个字符长度的字串select substring(‘beijing’,1,3)bei

数值函数

函数功能示例结果
ABS(x)返回x的绝对值select ABS(-0.8)0.8
CEIL(x)返回大于x的最小整数值select CEIL(-0.8)0
FLOOR(x)返回小于x的最大整数值select FLOOR(-0.8)-1
MOD(x)返回x/y的模select MOD(15,10)5
RAND()返回0~1内的随机值select RAND()0.1203556146
ROUND(x,y)返回参数x的四舍五入的有y位小数的值select ROUND(1.1,2)1.10
TRUNCATE(x,y)返回数字x截断为y位小数的结果select TRUNCATE(1.2365,2)1.23

注:MOD(x,y)函数,模数和被模数任何一个为NULL结果都为NULL

日期和时间函数

函数功能示例结果
CURDATE()返回当前日期select CURDATE()2020-01-03
CURTIME()返回当前时间select CURTIME()14:13:26
NOW()返回当前的日期和时间select NOW()2020-01-03 14:13:26
UNIX_TIMESTAMP(date)返回日期date的UNIX时间戳select UNIX_TIMESTAMP(NOW())1184134516
FROM_UNIXTIME返回UNIX时间戳的日期值select FROM_UNIXTIME(1184134516)2007-07-11 14:15:16
WEEK(date)返回日期date为一年中的第几周select WEEK(now())1
YEAR(date)返回日期date的年份select YEAR(now())2020
HOUR(time)返回time的小时值select HOUR(CURTIME())14
MINUTE(time)返回time的分钟值select MINUTE(CURTIME())18
MONTHNAME(date)返回date的月份名select MONTHNAME(now())July
DATE_FORMAT(date,fmt)返回按字符串fmt格式化日期date值select DATE_FORMAT(now(),’%M,%D,%Y’)July, 11th, 2007
DATE_ADD(date,INTERVAL expr type)返回一个日期或时间值加上一个时间间隔的时间值select now() ,DATE_ADD(now(), INTERVAL 31 day)2007-09-03 11:30:48 2007-10-04 11:30:48
DATEDIFF(expr,expr2)返回起始时间expr和结束时间expr2之间的天数select DATEDIFF(‘2008-08-08’,now())328

流程函数

函数功能
IF(value,t,f)如果value是真,返回t;否则返回f
IFNULL(value1,value2)如果value1不为空,返回value1,否则返回value2
CASE WHEN [value1] THEN [result1]…ELSE [default] END如果value1是真,返回result1,否则返回default
CASE [expr] WHEN [value1] THEN [result1]…ELSE [default] END如果expr等于value1,返回result1,否则返回default

流程函数

函数功能
DATABASE()返回当前数据库名
VERSION()返回当前数据库版本
USER()返回当前登录用户名
INET_ATON(IP)返回IP地址的数字表示(网络字节序)
INET_NTOA(num)返回数字(网络字节序)代表的IP地址
PASSWORD(str)返回字符串str的加密版本
MD5()返回字符串str的MD5值

注:比较IP地址时,需先将IP地址转换为字节序后,再进行比较

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值