sql函数

函数整理:
(一)数字函数
1、ABS(X) 绝对值函数
例:ABS(-1) 返回1
2、AVG(x) 平均值
例:SELECT AVG(age) FROM student; 其中x 表示一个运算表达式
3、CEIL(X) 和 CEILING(X) 返回大于或等于x的最小整数
例:select CEIL(1.5)
select CEILING(1.5)
–返回结果都为 2
4、FLOOR(X) 返回小于或等于 x 的最大整数
例:select FLOOR(1.5)
–返回 1
5、EXP(X) 返回e 的x次方
例:select EXP(3)
–计算e 的三次方,返回20.085536923188
6、GREATEST(value1,value2,…) 返回列表中的最大值
例:SELECT GREATEST(3,12,32,5)
–返回最大值32
7、LEAST(value1,value2,…) 返回列表中的最小值
例:SELECT LEAST(3,12,32,5)
–返回最大值3
8、LN(X) 返回数字的自然对数
例:SELECT LN(2)
–返回2的自然对数
9、LOG(X) 返回自然对数(以 e 为底的对数)
例:SELECT LOG(20.085536923188);
–返回3
10、MAX(X) 返回字段的最大值
11、MIN(X) 返回字段的最小值
12、POW(X,Y) 和 POWER(X,Y) 返回x的y次方
13、RAND() 返回0到1的随机数
例:select RAND();
14、ROUND(X) 返回离x 最近的整数
例:select ROUND(1.23456)
–返回 1
15、SIGN(X) 返回x的符号,x是负数、0、正数 分别返回-1、0和1
例:select SIGN(-10)
–返回 -1
16、SORT(X) 返回x 的平方根
17、SUM(x) 返回指定字段的总和
18、TRUNCATE(X,Y)返回数值x 保留小数点后y位的值(与round最大的区别在于不会进行四舍五入)
例:select TRUNCATE(1.23456,3)
–返回 1.234

(二)字符串函数
1、返回字符串s的第一个字符的ASCII码
例:select ASCII(‘AB’)
–返回结果为 65
2、LENGTH(str) 、CHAR_LENGTH(str)、CHARACTER_LENGTH(str) 返回字符串str的字符数
例:select LENGTH(‘1234’)
–返回结果为 4
3、CONCAT(str1,str2,…) 字符串str1、str2等多个字符串合并为一个字符串
例:select CONCAT(‘hel’,‘llo’)
–返回结果 hello
4、FIND_IN_SET(str,strlist)返回字符串strlist中与str匹配的字符串的位置
例:select FIND_IN_SET(“c”,“a,b,c,d”)
–返回 3
5、FORMAT(X,N)函数可以将数字x 进行格式化,将x 保留到小数点后n位,最后一位四舍五入
例:SELECT FORMAT(250500.5634, 2);
–返回250,500.56
6、INSERT(s1,x,len,s2)字符串s2替换s1位置开始长度为len的字符串
例:select INSERT(“google.com”,1,6,“runnob”)
–返回runoob.com
7、LOCATE(s1,s) 从字符串s中获取s1的开始位置
例:SELECT LOCATE(‘st’,‘myteststring’);
–返回5
8、LCASE(s)/LOWER(s)将字符串 s 的所有字母变成小写字母
例:SELECT LOWER(‘RUNOOB’);
–返回runoob
9、UCASE(s)/UPPER(s)将字符串 s 的所有字母变成大写字母
例:SELECT UCASE(‘runoob’);
–返回RUNOOB
10、TRIM(s)去掉字符串 s 开始和结尾处的空格
例:SELECT TRIM(’ RUNOOB ‘);
–返回RUNOOB
11、LTRIM(s)去掉字符串 s 开始处的空格
例:SELECT LTRIM(’ RUNOOB ‘);
–返回 ’RUNOOB ‘
12、RTRIM(s)去掉字符串 s 结尾处的空格
例:SELECT RTRIM(’ RUNOOB ');
–返回 ’ RUNOOB‘
13、SUBSTR(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串
例:SELECT SUBSTR(“RUNOOB”, 2, 3) AS ExtractString;
–从字符串 RUNOOB 中的第 2 个位置截取 3个 字符,返回UNO
14、SUBSTR/SUBSTRING(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串
例:SELECT SUBSTR/SUBSTRING(“RUNOOB”, 2, 3);
– 从字符串 RUNOOB 中的第 2 个位置截取 3个 字符,返回UNO
15、POSITION(s1 IN s)从字符串 s 中获取 s1 的开始位置
例:SELECT POSITION(‘b’ in ‘abc’);
–返回2
16、REPEAT(s,n)将字符串 s 重复 n 次
例:SELECT REPEAT(‘runoob’,3);
–返回runoobrunoobrunoob
17、REVERSE(s)将字符串s的顺序反过来
例:SELECT REVERSE(‘abc’);
–返回cba
18、STRCMP(s1,s2)比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1
例:SELECT STRCMP(“runoob”, “runoob”);
–返回

(三) 日期函数
1、CURDATE() 、CURRENT_DATE() 返回当前日期 yyyy-MM-dd
例:select CURDATE();
select CURRENT_DATE();
–返回当前时间
2、CURRENT_TIME() 、CURTIME() 返回当前时间 HH:mm:ss
例:select CURRENT_TIME();
3、CURRENT_TIMESTAMP() 返回当前日期和时间
例:select CURRENT_TIMESTAMP();
–格式:yyyy-MM-dd HH:mm:ss
4、ADDDATE(d,days) 计算起始日期d 加上days 天的日期
例:select ADDDATE(“2022-01-24”,INTERVAL 5 DAY)
–返回结果 2022-01-29
5、ADDTIME(d,expr2) 时间上加上相应的秒数
例:select ADDTIME(“2022-01-24 15:06:34”,5);
–返回结果 2022-01-24 15:06:39
6、DATE(expr) 从日期或日期时间表达式中提取日期值
例:select DATE(2022-01-24 15:06:39)
–返回结果 2022-01-24
7、DAY(date) 返回日期值中天的部分
例:select DAY(2022-01-24)
–返回结果 24
8、DATEDIFF(expr1,expr2) 返回两个日期之间间隔的天数
例:select DATEDIFF(‘2022-01-24’,‘2022-01-01’)
–返回结果23
9、DATE_FORMAT(date,format) 按表达式格式 显示对应日期
例:select DATE_FORMAT(‘2022.01.24 15:15:16’,‘%Y-%m-%d’)
–返回结果 2022-01-24
10、DAYNAME(date) 返回日期是星期几 如Monday,Tuesday
例:select DAYNAME(‘2022-01-24’)
–返回结果Monday
11、DAYOFMONTH(date) 计算日期是本月的第几天
例:select DAYOFMONTH(‘2022-01-24’)
–返回结果 24
12、DAYOFWEEK(date) 计算日期是本周的星期几 1星期一,2星期二,…
例:select DAYOFWEEK(‘2022-01-24 15:24:23’)
–返回结果 2
13、DAYOFYEAR(date) 计算日期是本年的第几天
例:select DAYOFYEAR(‘2022-01-24 15:27:54’)
–返回结果24
14、UNIX_TIMESTAMP()得到时间戳
例:select UNIX_TIMESTAMP(‘2022-01-24’)
–返回结果1642953600
15、FROM_UNIXTIME(unix_timestamp) 时间戳转日期
例:select FROM_UNIXTIME(1642953600)
–返回结果 2022-01-24 00:00:00
SELECT FROM_UNIXTIME(1642953600, ‘%Y-%m-%d’);
–返回结果 2022-01-24

(四)高级函数

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值