mySql函数

    科技2022-07-10  124

    mySql函数

    数学函数 select abs(-10);#绝对值 select mod(3,5);#3被5除的余数 select 3%5;#同上 select ceiling(2.1);# 3 向上取整 select round(2.1);# 2 四舍五入 字符串函数 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替换为'窗前' 日期类函数 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 对日期加操作 select date_sub('2020-10-11', interval 1 second);# 2020-10-10 23:59:59 对日期减一秒 select current_date();# 当前日期 select now();# 当前日期加时间 2020-10-03 13:02:16 控制流程函数 # 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'); 系统信息函数 select version();#查询版本 select database();# 数据库名字 select user();#获取连接用户名 加密 select md5('abc');#md5 加密字符串 select uuid();#获取uuidd 0acdf53-053a-11eb-8b09-d8c4976b1132 select uuid_short();#获取17位数字uuid 98928311161323524 select format(312.334,2);#保留小数点后两位四舍五入 日期格式化 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 位
    Processed: 0.018, SQL: 8