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
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折

  • 思路

MySQL和Oracle常用处理函数总结_第1张图片

使用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
  • 输出

MySQL和Oracle常用处理函数总结_第2张图片

 

你可能感兴趣的:(数据库,mysql,数据库,database)