【SQL】常用数学函数、字符串函数、日期时间函数、条件判断函数、系统信息函数等

background:上学时候偷懒对行业没有正确认知,职业规划混乱的后果,就是学了一堆有的没的。既然学了,就写个笔记。下次好找,打工搬砖之路漫漫其修远兮。

  1. 系统信息函数
#查看数据库
select database();
#查看系统版本
select version();
#查看当前登陆的用户 (我是谁)
select user();
#查看当前时间
select now();
  1. 数学函数
select abs(number) as '绝对值'
select abs(-2) as '返回2'
select floor(5.9) as '向下取整'
select ceil(5.01) as '向上取整'
select round(3.14159,3as '四舍五入' --第二个数值是保留几位小数的意思
select rand() as '返回0-1之间的随机数';
select pi() as '返回圆周率';
select mod(5,2) as '求余数';
max()'最大值';
min()'最小值';
sum()'和';
avg()'平均数';
  1. 字符串函数
#1.concat(s1,s2...)将字符串拼接,连接为一个字符串
select concat('s1','s2'); #s1s2
concat(table.a,table.b); from table
#2.left(s,n)返回从字符串s开始的n最左字符
select left('someone',2) as le_sub; #so
select right('someone',2) as ri_sub; #ne
select mid('someone',2,3) as mid_sub; #ome
#3. trim(s) 移除掉字串中s的字头或字尾处空格
#4. replace(s,s1,s2) 用字符串s2替代字符串s中的字符串s1
#5. 截取字符串s中第n个位置开始,长度为len的字符串
substring(s,n,len);
mid(s,n,len);
#6. reverse(s) 将字符串s翻转
#7. length(s) 返回文本字段中值的长度
#8. instr(substr,str) 返回substr字符串在str里第一次出现的位置,没有则返回0
#9. substring_index(s,字段分隔符,位置)
  1. 日期时间函数
curdate() #返回当前日期
curtime() #返回当前时间
now()     #返回当前日期和时间
day()     #截取日
month()   #截取月
year()    #截取年

在DBMS中日期和时间值以特殊的格式存储,以便能快速和有效地排序或过滤。常见的日期数据格式有两种:‘yyyy-MM-dd’ 和 ‘yyyyMMdd’。
时间戳和日期格式之间可以利用
from_unixtime(转换成日期格式进行查看)
unix_timestamp(转换成时间戳格式进行查看)

datediff(date1,date2);
select datediff('2021-08–09','2021-08-01'); #输出8

返回起始时间 date1 和结束时间 date2 之间的天数,date1大于date2的情况下,返回的天数为正数,date1小于date2的情况下,返回的天数为负数。

date_sub (string startdate, interval int day);
select date_sub('2021-08–09',interval 8 day);
#'2021-08-01'

返回开始日期startdate减少days天后的日期

date_add (string startdate, interval int day);
select date_add('2021-08–01',interval 8 day);
#'2021-08-09'

返回开始日期startdate增加days天后的日期

  1. 条件判断函数
#if(expo,v1,v2) 如果表达式成立,则执行v1,否则执行v2
select pname,if(price>2000,'奢侈品','普通商品') '商品性质' from products;
#case when 用于计算条件列表并返回多个可能结果表达式之一
select
case
when 条件1 then 结果1
when 条件2 then 结果2
when ...  then 结果n
(else 结果n+1)
end
  1. 窗口函数
函数() over()
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值