MySQL和Oracle常用处理函数总结

序言:最近一直在刷mysql的题目,结果面试的时候,在线编程函数没有自动补全,让我只能在报错中慢慢试验,真是让我考试的时候绝望。后续我将会慢慢补充。

目录

1.文本处理函数

2.日期处理函数

3.数值处理函数

5.条件选择case。。。。when。。then。。end


1.文本处理函数

函  数说  明
upper(str)文本转大写
lower(str)文本转小写
length(str)文本长度
concat("i","am","syh")拼接文本
substr(str,pos ,len)从pos位置截取len长度字符串(索引从1开始)
strcmp(s1,s2)比较字符串 s1 和 s2,如果 s1 与 s2 相等返回 0 ,如果 s1>s2 返回 1,如果 s1<s2 返回 -1
insert(s1,x,len,s2)字符串 s2 替换 s1 的 x 位置开始长度为 len 的字符串
position(s1 IN s)从字符串 s 中获取 s1 的开始位置

2.日期处理函数

函  数说  明
curdate()当前日期:2022-06-13
now()当前时间:2022-06-13 00:17:08
year(date)返回年份
month(date)返回月份
date_format(NOW(), '%Y-%m-%d %H:%i:%S')格式:2022-06-13 00:23:12
DATEDIFF('2018-12-30','2028-12-29')返回日期相差天数
TIMEDIFF(time1,time2)time1和2的时间差
date_add(date(now()), interval 1 day)增加1天,可以换成hour、second、minutes、month等

date_sub(date(now()), interval 1 day)

减少1天,可以换成hour、second、minutes、month等
SUBDATE(d,n)日期 d 减去 n 天后的日期
ADDDATE(d,n)日期 d 增加 n 天后的日期
STR_TO_DATE(string, format_mask)将字符串转变为日期

3.数值处理函数

函  数说  明
ROUND(x,n)x保留后n位
POWER(x,y)返回 x 的 y 次方
RAND()返回 0 到 1 的随机数
FORMAT(x,n)函数可以将数字 x 进行格式化 “#,###.##”, 将 x 保留到小数点后 n 位,最后一位四舍五入。
MOD(x,y)返回 x 除以 y 以后的余数
FLOOR(x)返回小于或等于 x 的最大整数
CEILING(x)返回大于或等于 x 的最小整数

5.条件选择case。。。。when。。then。。end

题目:销量<=10的单价翻两倍,销量>=10and <100的单价打8折,销量>=100的单价打7折

  • 思路

使用case when解决 

  • 输入
SELECT 

order_num,quantity,
CASE WHEN quantity<=10 THEN item_price*2
WHEN quantity>=10 AND quantity<100 THEN item_price*0.8
ELSE item_price*0.7 END priceout

FROM 
orderitems
  • 输出

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值