SQL函数

本文介绍了SQL中的基本函数,包括聚合函数如COUNT和SUM,字符串函数如CONCAT、LOWER、UPPER等,数值函数如CEIL和FLOOR,日期函数如CURDATE和DATE_ADD,以及流程控制函数IF、IFNULL和CASE。这些函数在数据处理和查询中起到关键作用,帮助用户进行数据转换和条件判断。
摘要由CSDN通过智能技术生成

SQL函数

聚合函数

请添加图片描述

这个部分比较简单,且容易记忆,只放了图

字符串函数

请添加图片描述

CONCAT 字符串拼接

SELECT CONCAT('123','456'); # 123456
SELECT CONCAT('123','456','789'); # 123456789

LOWER 转小写

SELECT LOWER('AAa'); # aaa

UPPER 转大写

SELECT LOWER('AAa'); # AAA

LPAD 左填充

SELECT LPAD('1111',5,'0'); # 01111 变量1:字符串 变量2:填充后字符串长度 变量3: 填充的字符
SELECT LPAD('11111',5,'0'); # 11111
SELECT LPAD('111',5,'07'); # 07111
SELECT LPAD('1111',5,'07'); # 01111

RPAD 右填充

SELECT RPAD('1111',5,'0'); # 11110 变量1:字符串 变量2:填充后字符串长度 变量3: 填充的字符
SELECT RPAD('11111',5,'0'); # 11111
SELECT RPAD('111',5,'07'); # 11107
SELECT RPAD('1111',5,'07'); # 11110

TRIM 去头尾空格

SELECT TRIM(' 单词1  单词2   '); # 单词1  单词2  中间仍有空格,仅去头尾空格

SUBSTRING 截取部分字符串

SELECT SUBSTRING('字符串'01); # 返回空 索引从1开始 变量1:字符串 变量2:开始索引 变量3: 截取长度
SELECT SUBSTRING('字符串',1); # 字符串 变量3省略不写则默认截取到字符串尾部
SELECT SUBSTRING('字符串',1,2); # 字符 从索引1截取长度为2的字符串

数值函数

请添加图片描述

CEIL 向上取整

SELECT CEIL(1.1); # 2
SELECT CEIL(-1.1); # -1

FLOOR 向下取整

SELECT FLOOR(1.1); # 1
SELECT FLOOR(-1.1); # -2

MOD 取模

SELECT MOD(10,3); # 1

RAND 返回0-1随机数

SELECT RAND(); # 0.2914650238039578 返回0-1任意数,不带任何参数,注意可能返回0.0开头的随机数

ROUND 四舍五入,保留小数

SELECT ROUND(3.333,1); # 3.3 变量1:要四舍五入的数 变量2:保留的小数位
SELECT ROUND(3.373,1); # 3.4

日期函数

请添加图片描述

CURDATE 当前日期

SELECT CURDATE(); # 2023-06-10

CURTIME 当前时间

SELECT CURTIME(); # 17:13:13

NOW 当前日期和时间

SELECT NOW(); # 2023-06-10 17:13:54

YEAR 指定date的年份

SELECT YEAR(NOW()); # 2023
SELECT YEAR('2020-6-3'); # 2020

MONTH 指定date的月份

SELECT MONTH(NOW()); # 6 指6月份
SELECT MONTH('2020-7-3'); # 7

DAY 指定date的日期

SELECT DAY(NOW()); # 10 指今天10号
SELECT DAY('2020-7-3'); # 3

DATE_ADD 对当前日期做增加

SELECT DATE_ADD('2020-12-01',INTERVAL 60 DAY); # 2021-01-30 当前日期加60天 (INTERVAL 60 DAY) INTERVAL 为固定格式,60为数量,DAY为日期单位 可为DAY,MONTH,YEAR,注意一个月可能有31天
SELECT DATE_ADD('2020-12-01',INTERVAL 10 MONTH); # 2021-10-01
SELECT DATE_ADD('2020-12-01',INTERVAL 10 YEAR); # 2030-12-01

DATEDIFF 两个日期之间间隔天数

SELECT DATEDIFF('2023-6-10','2023-6-8'); # 2 注意是前面的日期减后面的日期
SELECT DATEDIFF('2023-6-8','2023-6-10'); # -2
SELECT DATEDIFF('2024-6-8','2023-6-10'); # 364 

流程函数

请添加图片描述

IF 判断

SELECT IF(6>1,'ok','error'); # ok 变量1:判断条件 变量2:条件为ture返回该变量 变量3: 条件为false返回该变量
SELECT IF(1>6,'ok','error'); # error 

IFNULL 判断

SELECT IFNULL('1','2'); # 1 变量1不为空返回变量1,反之返回变量2
SELECT IFNULL('','2'); # 返回'',''不为null,只有变量1为null才返回变量2
SELECT IFNULL(NULL,'2');# 2

CASE分支判断

请添加图片描述

# WHEN可有多个分支
SELECT (CASE WHEN 6 > 1 THEN '分支1' WHEN 6 > 1 THEN '分支2' ELSE '默认值' END) dd; # 分支1
SELECT (CASE WHEN 6 < 1 THEN '分支1' WHEN 6 > 1 THEN '分支2' ELSE '默认值' END) dd; # 分支1
SELECT (CASE WHEN 6 < 1 THEN '分支1' WHEN 6 > 1 THEN '分支2' ELSE '默认值' END) dd; # 分支2
SELECT (CASE WHEN 6 < 1 THEN '分支1' WHEN 6 < 1 THEN '分支2' ELSE '默认值' END) dd; # 默认值

SELECT (CASE 6 WHEN 6 THEN '分支1' WHEN 1 THEN '分支2' ELSE '默认值' END) dd; # 分支1
SELECT (CASE 1 WHEN 6 THEN '分支1' WHEN 1 THEN '分支2' ELSE '默认值' END) dd; # 分支2
SELECT (CASE 10 WHEN 6 THEN '分支1' WHEN 1 THEN '分支2' ELSE '默认值' END) dd; # 默认值
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值