SQL|SQL基本功(五)--函数、谓词、CASE表达式


SQL|SQL基本功(五)--函数、谓词、CASE表达式
文章图片


写在前文
  • 作者简介:大家好,我是小王?♂?
  • 个人主页:你隔壁的小王
  • 欢迎点赞+收藏??+留言
  • 专栏:SQL?♂?
?♂? 小伙伴们如果在学习过程中有不明白的地方,欢迎评论区留言提问!希望能和大家一起进步,共同成长!
前文回顾: SQL知识点--插入记录
SQL知识点--更新记录、删除记录
SQL基本功(一)--SQL和数据库
SQL基本功(二)--查询基础
SQL基本功(三)-- 聚合与排序
各种函数 所谓函数,就是输入某一值得到相应输出结果的功能,输入值称为参数(parameter),输出值称为返回值。函数大致可以分为以下几种:
  • 算术函数(用来进行数值计算的函数)
  • 字符串函数(用来进行字符串操作的函数)
  • 日期函数(用来进行日期操作的函数)
  • 转换函数(用来转换数据类型和值的函数)
  • 聚合函数(用来进行数据聚合的函数)
算术函数 【SQL|SQL基本功(五)--函数、谓词、CASE表达式】算术函数是最基本的函数,典型的有四则运算+、-、*、/
  • ABS 函数:ABS 是计算绝对值的函数。绝对值(absolute value)不考虑数值的符号,表示一个数到原点的距离。简单来讲,绝对值的计算方法就是:0和正数的绝对值就是其本身,负数的绝对值就是去掉符号后的结果
  • MOD 函数:MOD( 被除数,除数 ),MOD 是计算除法余数(求余)的函数,是 modulo 的缩写。例如,7 / 3 的余数是1,因此 MOD ( 7, 3 ) 的结果也是 1 。因为小数计算中并没有余数的概念,所以只能对整数类型的列使用 MOD 函数。
  • ROUND 函数:ROUND( 对象数值,保留小数的位数 )ROUND 函数用来进行四舍五入操作。四舍五入在英语中称为 round。如果指定四舍五入的位数为 1 ,那么就会对小数点第 2 位进行四舍五入处理。如果指定位数为 2 ,那么就会对第 3 位进行四舍五入处理
字符串函数:虽然算术函数是我们经常使用的函数,但是字符串函数也同样经常被使用。
  • || 函数:字符串 1 || 字符串 2,|| 函数在 SQL Server 和 MySQL 中无法使用。SQL Server使用“+”运算符(函数)来连接字符串A。MySQL使用 CONCAT 函数来完成字符串的拼接。
  • LENGTH 函数:LENGTH( 字符串 ),想要知道字符串中包含多少个字符时,可以使用 LENGTH (长度)函数
  • LOWER 函数:LOWER 函数只能针对英文字母使用,它会将参数中的字符串全都转换为小写
  • REPLACE函数:REPLACE( 对象字符串,替换前的字符串,替换后的字符串 )使用 REPLACE 函数,可以将字符串的一部分替换为其他的字符串
  • SUBSTRING 函数:SUBSTRING (对象字符串 FROM 截取的起始位置 FOR 截取的字符数),使用 SUBSTRING 函数 可以截取出字符串中的一部分字符串
  • UPPER函数:UPPER( 字符串 ) UPPER 函数只能针对英文字母使用,它会将参数中的字符串全都转换为大写
日期函数:
  • CURRENT_DATE 函数:CURRENT_DATE 函数能够返回 SQL 执行的日期,也就是该函数执行时的日期。由于没有参数,因此无需使用括号。
  • CURRENT_TIME函数:CURRENT_TIME 函数能够取得 SQL 执行的时间,也就是该函数执
    行时的时间。由于该函数也没有参数,因此同样无需使用括号。
  • CURRENT_TIMESTAMP 函数:CURRENT_TIMESTAMP 函数具有 CURRENT _ DATE + CURRENT _TIME 的功能。使用该函数可以同时得到当前的日期和时间,当然也可以从结果中截取日期或者时间。
  • EXTRACT函数:EXTRACT( 日期元素 FROM 日期 ),使用 EXTRACT 函数可以截取出日期数据中的一部分,例如“年”“月”,或者“小时”“秒”等
转换函数 “转换”这个词的含义非常广泛,在 SQL 中主要有两层意思:一是数据类型的转换,简称为类型转换,在英语中称为 cast ;另一层意思是值的转换
  • CAST 函数:CAST (转换前的值 AS 想要转换的数据类型)
  • COALESCE函数:将 NULL 转换为其他值 ,COALESCE( 数据 1 ,数据 2 ,数据 3 ……
谓词 谓词就是函数中的一种,是需要满足特定条件的函数,该条件就是返回值是真值。对通常的函数来说,返回值有可能是数字、字符串或者日期等,但是谓词的返回值全都是真值( TRUE/
FALSE/UNKNOWN )。这也是谓词和函数的最大区别。
  • BETWEEN 谓词——范围查询:使用 BETWEEN 可以进行范围查询。该谓词与其他谓词或者函数的不同之处在于它使用了 3 个参数。
  • IS NULL 、 IS NOT NULL ——判断是否为 NULL:为了选取出某些值为 NULL 的列的数据,不能使用 = ,而只能使用特定的谓词 IS NULL,想要选取 NULL 以外的数据时,需要使用 IS NOT NULL
  • IN 谓词—— OR 的简便用法:需要注意的是,在使用 IN 和 NOT IN 时是无法选取出 NULL 数据的。
CASE表达式 CASE 表达式的语法分为简单 CASE 表达式和搜索 CASE 表达式两种。CASE 表达式中的 END 不能省略。
CASE WHEN < 求值表达式 > THEN < 表达式 > WHEN < 求值表达式 > THEN < 表达式 > WHEN < 求值表达式 > THEN < 表达式 > . . . ELSE < 表达式 > END

SQL|SQL基本功(五)--函数、谓词、CASE表达式
文章图片


    推荐阅读