mySql函数

mySql函数

  1. 数学函数
select abs(-10);#绝对值
select mod(3,5);#3被5除的余数
select 3%5;#同上
select ceiling(2.1);# 3  向上取整
select round(2.1);# 2 四舍五入
  1. 字符串函数
select ascii('are you ok');# 97 返回最左边一个字符的ascII编号
select concat(1,'2',3);# "123" 拼接多个参数转成字符串可以是数字
select concat(1,null,3);# null 有一个为null结果就是null
select length('a李');# 4 a:1 李:3  返回字符串的字节长度
select locate('an','lang');# 2 返回子串substr在字符串str第一个出现的位置,如果substr不是在str里面,返回0,下标从1开始.
select left('李yang',2);# 李y 返回字符串最左边的两个字符
select right('李yang',2);# ng 返回字符串最右边的两个字符
select substr('李23456',3);# 3456 下标从1开始从 第3个字符(包括)开始截取到最后
select trim('  hello   ');# hello 去除前后的空格
select ltrim('  hello   ');# hello 去除前边的空格
select rtrim('  hello   ');# hello 去除后边的空格
select replace('hello word','l','c');# hecco word 字符串替换
select repeat('李',3);# 李李李 重复三次目标字符串
select reverse('上海');# 海上 翻转字符串
select insert('海上升明月', 1, 2, '窗前');# 窗前升明月 从第一个字符开始长度为2替换为'窗前'
  1. 日期类函数
select dayofweek(now());# 注意 日一二三四五六七 对应 1234567
select dayofweek('2020-10-3');# 注意 日一二三四五六七 对应 1234567
select weekday(now());# 返回日期的星期索引 日一二三四五六七 对应 0123456
select dayofmonth(now());# 返回当前日的数字 1-31
select dayofyear(now());# 返回日期在当年中的第几天 1-366
select month('2020-10-3');# 10 返回当前月份的数字
select dayname('2020-10-03');# saturday 星期的英文名字
select monthname('2020-10-03');# october 月份的英文名字
select quarter('2020-10-01');# 4 返回第几季度 1-4
select week(now(),0);#返回当前日期是当年的第几周 0代表从周日开始 1代表从周一开始
select year('2020/10/03');# 返回日期中的年
select hour('13:12:12');# 13 返回当前时间的hour数值
select minute('13:12:12');# 12 返回当前时间的minute数值
select second('13:12:10');# 10 返回当前时间的second数值
select '2020-10-03 12:47:30'+interval 2 day ;#2020-10-05 12:47:30 对日期加操作
select adddate(now(),2);# 当前日期增加两天的日期
select date_add('2020-10-10',interval 24*60*60-1 second ) ;#2020-10-10 23:59:59 对日期加操作
select date_add('1997-12-31 23:59:59' ,interval 1 year );#1998-12-31 23:59:59 对日期加操作
DATE_SUB(); #函数从日期减去指定的时间间隔。
select date_sub('2020-10-11', interval 1 second);# 2020-10-10 23:59:59 对日期减一秒
select date_sub(curdate(), interval 12 month) #当前日期12个月前的日期
select date_sub(curdate(), interval 30 day) #当前日期向前推30天
select current_date();# 当前日期
select now();# 当前日期加时间 2020-10-03 13:02:16
  1. 控制流程函数
# case xx when xx then xx else xx end 
select case user_sex when 0 then '男' else '女' end as '性别' from user

# case when xx = xx then xx when xx=xx then xx else xx end
select case when user_sex = 0  then '男' when user_sex = 1 then '女' else '不详' end from user;

#类似三目表达式
select if(1=1,'true','false');

# 比较连个字符串 相当于java compare(str,str);
select strcmp('1','3');

  1. 系统信息函数
select version();#查询版本
select database();# 数据库名字
select user();#获取连接用户名
  1. 加密
select md5('abc');#md5 加密字符串
select uuid();#获取uuidd 0acdf53-053a-11eb-8b09-d8c4976b1132
select uuid_short();#获取17位数字uuid 98928311161323524
select format(312.334,2);#保留小数点后两位四舍五入
  1. 日期格式化
DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')
DATE_FORMAT(NOW(),'%m-%d-%Y')
DATE_FORMAT(NOW(),'%d %b %y')
DATE_FORMAT(NOW(),'%d %b %Y %T:%f')
#Dec 29 2008 11:45 PM
#12-29-2008
#29 Dec 08
#29 Dec 2008 16:25:46.635
格式描述
%a缩写星期名
%b缩写月名
%c月,数值
%D带有英文前缀的月中的天
%d月的天,数值(00-31)
%e月的天,数值(0-31)
%f微秒
%H小时 (00-23)
%h小时 (01-12)
%I小时 (01-12)
%i分钟,数值(00-59)
%j年的天 (001-366)
%k小时 (0-23)
%l小时 (1-12)
%M月名
%m月,数值(00-12)
%pAM 或 PM
%r时间,12-小时(hh:mm:ss AM 或 PM)
%S秒(00-59)
%s秒(00-59)
%T时间, 24-小时 (hh:mm:ss)
%U周 (00-53) 星期日是一周的第一天
%u周 (00-53) 星期一是一周的第一天
%V周 (01-53) 星期日是一周的第一天,与 %X 使用
%v周 (01-53) 星期一是一周的第一天,与 %x 使用
%W星期名
%w周的天 (0=星期日, 6=星期六)
%X年,其中的星期日是周的第一天,4 位,与 %V 使用
%x年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y年,4 位
%y年,2 位
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值