SQL知识合集(二):函数篇
TRIM函数
作用:去掉字符串前后的空格
SELECT *
FROM your_table_name
WHERE TRIM(column_name) = '';
COALESCE函数
作用:返回其参数中的第一个非 NULL 值。它可以接受多个参数,并从左到右依次评估这些参数,直到找到第一个非 NULL 的值并返回。如果所有参数都是 NULL,则返回 NULL。
SELECT COALESCE(column1, column2, 'default_value') AS result
FROM your_table_name;
解释:COALESCE 将返回 column1 的值,如果 column1 是 NULL,则返回 column2 的值,如果 column2 也是 NULL,则返回 'default_value'。
NULLIF函数
作用:如果字段A等于{M}则该字段设置为空
SELECT
COALESCE(NULLIF(urls, 'a'),avatar,'nonono' ) a
FROMlspace_diga.off_user
CURDATE()函数
作用:返回当天的日期(不包含时间)
DATEDIFF函数
作用:计算两个日期之间的天数 CURDATE()大,2000-05-04小
SELECTDATEDIFF(CURDATE(),'2000-05-04')
答案:8961
CONCAT_WS函数
作用:拼接字符串,如果该字段为空的话直接跳过,不会拼接
SELECTCONCAT_WS(',', NULLIF(urls, ''), age, avatar) AS concatenated_result
FROMlspace_diga.off_user;
IFNULL函数
作用:判断是否为空
select IFNULL('ok','default') //ok
select IFNULL(null,'default') //default
wm_contact函数
作用:函数返回一个字符串结果,该结果由分组中的值连接组合而成。
-- 查询一个课程包含那些题
SELECT c.id,GROUP_CONCAT(t.title) from course c left JOIN topical t ON t.course_id=c.id GROUP BY c.id
DATE_FORMAT() 函数
作用:格式化日期
DATE_FORMAT(NOW(),'%Y-%m-%d') 2023-09-09
EXTRACT()函数
作用:函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。
SELECT EXTRACT(YEAR FROM OrderDate) AS OrderYear,
EXTRACT(MONTH FROM OrderDate) AS OrderMonth,
EXTRACT(DAY FROM OrderDate) AS OrderDay
FROM Orders
WHERE OrderId=1
ANY_VALUE函数
作用:ANY_VALUE(sale_date) AS any_sale_date
:返回每组中任意一个 sale_date
SELECT product_id,SUM(quantity) AS total_quantity,ANY_VALUE(sale_date) AS any_sale_date
FROM sales
GROUP BY product_id;