mysql -必会的常用函数

条件函数

IF 条件函数

写法为 if(x=n,a,b),x=n代表判断条件,如果x=n时,那么结果返回a,否则返回b

Case when

select
···,
case [条件字段]
when 判断语句 then 显示结果
···
else 判断语句 then 显示结果
end as 别名,····

eg:
Select
CASE
WHEN SCORE = 'A' THEN '优'
WHEN SCORE = 'B' THEN '良'
WHEN SCORE = 'C' THEN ‘中'
ELSE ‘不及格'
END

牛客具体例子 题目: [https://www.nowcoder.com/practice/30f9f470390a4a8a8dd3b8e1f8c7a9fa?tpId=199&tqId=1975678&ru=/exam/oj&qru=/ta/sql-quick-study/question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3DSQL%25E7%25AF%2587%26topicId%3D199](https://www.nowcoder.com/practice/30f9f470390a4a8a8dd3b8e1f8c7a9fa?tpId=199&tqId=1975678&ru=/exam/oj&qru=/ta/sql-quick-study/question-ranking&sourceUrl=%2Fexam%2Foj%3Fpage%3D1%26tab%3DSQL%25E7%25AF%2587%26topicId%3D199)

答案:
SELECT
CASE
WHEN age < 25
OR age IS NULL THEN '25岁以下'
WHEN age >= 25 THEN '25岁及以上'
END AS age_cut,
COUNT(*) AS number
FROM
user_profile
GROUP BY
age_cut

日期函数

日期函数

在DBMS中日期和时间值以特殊的格式存储,以便能快速和有效地排序或过滤。常见的日期数据格式有两种:'yyyy-MM-dd' 和 'yyyyMMdd'。

时间戳-日期格式转化

时间戳是数据库中自动生成的唯一二进制数字,表明数据库中数据修改发生的相对顺序,其记录形式类似:1627963699 ,在实际工作环境中,对于用户行为发生的时间通常都是用时间戳进行记录,时间戳和日期格式之间可以利用from_unixtime和 unix_timestamp进行转换。
from_unixtime可以将时间戳转换成日期,其使用语法和输出如下所示:
select
from_unixtime(time,'yyyy-MM-dd') as time
From question_practice_detail
得出
Time
2021-08-03
2021-08-03
2021-08-03
unix_timestamp可以将日期转换回时间戳,其使用语法和输出如下所示:
select
from_unixtime('2021-08-01','yyyy-MM-dd') as time

年月日截取

SQL为此提供了对应的年、月、日提取
函数,分别为year(),month(),day()。
select
year('2021-08-01'),month('2021-08-01'),day('2021-08-01')

日期差计算

-datedff
datediff的作用为计算两个日期之间的天数间隔,语法为datediff(date1,date2),返回
起始时间 date1 和结束时间 date2 之间的天数,date1大于date2的情况下,返回的天
数为正数,date1小于date2的情况下,返回的天数为负数。
select
datediff('2021-08–09','2021-08-01')
输出
8
-date_sub
语法为date_sub (string startdate, interval int day) ,返回开始日期startdate减少
days天后的日期。
select
date_sub('2021-08–09',interval 8 day)
输出
‘2021-08-01'
-date_add
语法为date_add(string startdate, interval int day) ,返回开始日期startdate增加days天后的日期
select
date_add('2021-08–01',interval 8 day)
输出
‘2021-08-09'

替换函数replace()使用

语法
REPLACE ( string_expression , string_pattern , string_replacement )

参数
string_expression 要搜索的字符串表达式。string_expression 可以是字符或二进制数据类型。
string_pattern 是要查找的子字符串。string_pattern 可以是字符或二进制数据类型。string_pattern 不能是空字符串 ('')。
string_replacement 替换字符串。string_replacement 可以是字符或二进制数据类型。

返回类型
如果其中的一个输入参数数据类型为 nvarchar,则返回 nvarchar;否则 REPLACE 返回 varchar。
如果任何一个参数为 NULL,则返回 NULL。

上面都是官话,不好懂!翻成白话:REPLACE(String,from_str,to_str) 即:将String中所有出现的from_str替换为to_str。

本文作者:randamao666

本文链接:https://www.cnblogs.com/randamao666/p/16697872.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   冉大猫6666  阅读(42)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起