单行函数
数组函数
- abs(x)
返回x的绝对值
- ceil(x)
返回大于或等于x的最小整数(向上取整)
select ceil(-2.1)
- floor(x)
向下取整
select floor(-2.1)
- round(x)
四舍五入
select round(3.49)
字符串函数
- concat(s1,s2…sn)
将字符串s1,s2等多个字符串合并为一个字符串
select concat('java','cpp','c') 字符拼接
结果:javacppc
- locate(s1,s)
从字符串s获取s1的开始位置
select locate('ac','dadacsdaac')
结果:4
- lower(s)
将字符串s的所有字母变成小写
select lower('ABC')
结果:abc
- upper(s)
将字符串s的所有字母变成大写
select lower('abc')
结果:ABC
- replace(s,s1,s2)
将字符串s2代替字符串s中的s1
SELECT REPLACE('asdc','a','b')
结果:bsdc
- substr(s,start,length)
从字符串s的start位置截取长度为length的子字符串
select substr('zhangsan',6,3)
结果:san
- trim(s)
去掉字符串s开始和结尾处的空格和制表符
select trim(' a b ')
结果:a b
- reverse(s)
反转字符串
select reverse('move')
结果:evom
日期函数
- now()
返回系统当前时间 (包含年月日时分秒)
- sysdate()
返回系统当前时间 (包含年月日时分秒)
注 now和sysdate的区别
- NOW的函数在执行之前就已经获取时间,并且在后续获取这个参数的时间都是一样的
- sysdate的函数 是在执行函数期间才能获取到当前时间 后续每一次获取都是一个新的时间
select now(),sysdate(),sleep(3),now(),sysdate();
- 结果显示sysdate在执行sleep(3)之后,秒值增加了3,但是now没有变化
- curdate()
返回当前日期(年月日)
- curtime()
返回当前时间(时分秒)
- mouth()
返回给定日期的月份
select MONTH('2024-3-31')
- week()
返回当前日期是第几周
select week('2024-3-31')
- day()
返回给定日期所处的day值
select day('2024-3-31')
- date_add()
为给定日期加入指定的值
select date_add('2024-3-31 19:30:59',INTERVAL 11 month)
-- 这里的month也可以是day,week等等,有需要的话,可以自己去搜更详细的相关信息
结果:
流程控制函数
- if(condition ,expr1,expr2)
condition 返回一个bool值,值为true时返回expr1,值为false时返回expr2
select if(7<2,'abc','ABC')
结果:ABC
- ifnull(expr1,expr2)
expr1不为null时返回expr1,expr1为null时返回expr2
ifnull(english,0) #避免null计算为null
其他函数
- version()
查看数据库版本
- user()
查看数据库当前用户
- md5(expr)
返回参数md5加密后的值
select md5('ABC')
结果:902fbdd2b1df0c4f70b4a5d23525e932
标签:返回,sysdate,函数,数据库,单行,expr1,字符串,s1,select From: https://blog.csdn.net/m0_74064456/article/details/137244600有错误或者不足,评论或私信,我都会及时纠正,最后谢谢大家阅读我的文章