mysql case when判断字符串长度_SQL函数、谓词、CASE表达式

24522079f5ea30a5f473c6bcebbcf24f.png

各种各样的函数

  1. 函数的种类:算术函数(用来进行数值计算的函数)、字符串函数(用来进行字符串操作的函数)、日期函数(用来进行日期操作的函数)、转换函数(用来转换数据类型和值的函数)、聚合函数(用来进行数据聚合的函数)
  2. 算数函数:
    1. 加减乘除
    2. 绝对值:ABS函数,ABS(数值)
    3. 求余:MOD函数,为单词modulo的缩写,MOD(被除数,除数)
    4. 四舍五入:ROUND函数,ROUND(对象数值,保留小数的位数)
  3. 字符串函数:
    1. 拼接:字符串1||字符串2,在MySQL中无法使用,而是使用CONCAT函数完成拼接
    2. 字符串长度:LENGTH(字符串)
    3. 小写转换:LOWER(字符串),只适用于英文字母
    4. 大写转换:UPPER(字符串)
    5. 字符串的替换:REPLACE(对象字符串,替换前的字符串,替换后的字符串)
    6. 字符串的截取:SUBSTRING(对象字符串 FROM 截取的起始位置 FOR 截取的字符数)
  4. 日期函数:
    1. 当前日期:CURRENT_DATE,没有参数,无需括号
    2. 当前时间:CURRENT_TIME,没有参数,无需括号
    3. 当前日期和时间:CURRENT_TIMESTAMP
    4. 截取日期元素:EXTRACT(日期元素 FROM 日期):EXTRACT(YEAR FROM CURRENT_TIMESTAMP) AS year,
  5. 转换函数:一是数据类型的转换,简称为类型转换,在英语中称为 cast ;另一层意思是值的转换。
    1. 类型转换CAST:CAST(转换前的值 AS 想要转换的数据类型)
    2. 将NULL转换为其他值:COALESCE(数据1,数据2,数据3......),COALESCE 是 SQL 特有的函数。该函数会返回可变参数中左侧开始第 1个不是 NULL 的值。参数个数是可变的,因此可以根据需要无限增加。

谓词

什么是谓词:是需要满足特定条件的函数,该条件就是返回值是真值。

LIKE谓词——字符串的部分一致查询:

前方一致查询:其中的 % 是代表“0 字符以上的任意字符串”的特殊符号,本例中代表“以 ddd 开头的所有字符串”。

bb65067204cc3b545df3e89466613c3f.png

中间一致查询:

62172cd9935b51a331259159122bd75e.png

后方一致查询:

bc3eba2935ac232e592a2abc84449980.png

此外,我们还可以使用 _(下划线)来代替 %,与 % 不同的是,它代表了“任意 1 个字符”。

BETWEEN谓词——范围查询:使用 BETWEEN 可以进行范围查询。该谓词与其他谓词或者函数的不同之处在于它使用了 3 个参数。PS:BETWEEN 的特点就是结果中会包含 100 和 1000 这两个临界值。如果不想让结果中包含临界值,那就必须使用 < 和 >

2e7b805c7c8f09c926a31f77388402c5.png

IS NULL、 IS NOT NULL——判断是否为NULL:

eb07bbdb33ce436de3ba77d3b313986b.png

IN谓词——OR的简便用法:需要注意的是,在使用IN 和 NOT IN 时是无法选取出 NULL 数据的。实际结果也是如此,上述两组结果中都不包含进货单价为 NULL 的叉子和圆珠笔。 NULL 终究还是需要使用IS NULL 和 IS NOT NULL 来进行判断。

18e854af4f603f51c7781e2cb78d08e2.png

920de4f6dba9089d21371e99bd55da81.png

使用子查询作为IN谓词的参数:

f6287b7153c388dddb4958e347b65adf.png

EXIST谓词:一言以蔽之,谓词的作用就是“判断是否存在满足某种条件的记录”。如果存在这样的记录就返回真(TRUE),如果不存在就返回假(FALSE)。EXIST(存在)谓词的主语是“记录”。

  1. EXIST 通常都会使用关联子查询作为参数 。
  2. 作为EXIST参数的子查询中经常会使用SELECT *。

3b09db781902866d83fde67ab13d2921.png

CASE表达式

什么是CASE表达式:CASE 表达式是在区分情况时使用的,这种情况的区分在编程中通常称为(条件)分支。

CASE表达式的语法:

2f8c278b027dd51d88c9c640a470fd52.png

CASE表达式流程的含义:CASE 表达式会从对最初的 WHEN 子句中的“< 求值表达式 >”进行求值开始执行。所谓求值,就是要调查该表达式的真值是什么。如果结果为真(TRUE),那么就返回 THEN 子句中的表达式, CASE 表达式的执行到此为止。如果结果不为真,那么就跳转到下一条 WHEN 子句的求值之中。如果直到最后的 WHEN 子句为止返回结果都不为真,那么就会返回 ELSE中的表达式,执行终止。

CASE表达式的使用方法:

a72930cfd33db066234e52011d81c374.png

CASE 表达式最后的“END”是不能省略的,请大家特别注意不要遗漏。

简单CASE表达式:

fe20ae038aaa2903a78f4f3b953843cb.png

a4479c04df4dfda5076fd6de778512de.png

SQL函数和EXCEL中的函数的应用,有很多类似地方,相对简单些。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值