1.IFNULL(expr1,expr2)
若expr1 不为 NULL, IFNULL() 的返回值为 expr1;
若expr1 为 NULL, IFNULL() 的返回值为 expr2。
2.IF(expr1,expr2,expr3)
类似三目运算
若expr1是TRUE,IF()的返回值为expr2;
若expr1是FALSE,IF()的返回值为 expr3。
eg:
SELECT
IF(PARA_VALUE='',PARA_VALUE,CONCAT('ossPath', PARA_VALUE)) AS PARA_URL
FROM
SYS_PARAMETER
3.ISNULL(expr)
若expr 为null,则isnull() 的返回值为 1;
若expr 不为null,则isnull() 的返回值为 0。
eg.
WHERE PARA_CODE = 'YLY_NAME'```
4.`NULLIF(expr1,expr2)`
若expr1 = expr2 成立,则返回值为NULL;
若expr1 = expr2 不成立,则返回值为expr1;
eg.
`SELECT NULLIF(12,11)` 结果:12
`SELECT NULLIF(1,1)` 结果:NULL
5.`IS NOT NULL` 和 `IS NOT NULL`
用于判断是否为null的语句
eg.
`SELECT COUNT(1) FROM SYS_PARAMETER WHERE UPDATER IS NOT NULL`
6.` =''` 或者` <>''`
用于判断空字符串
<> : 不等于
eg.
`SELECT COUNT(1) FROM SYS_PARAMETER WHERE UPDATER <>''`
7.对比
```SELECT COUNT(1) FROM SYS_PARAMETER WHERE UPDATER <>''
SELECT COUNT(1) FROM SYS_PARAMETER WHERE UPDATER =''
SELECT COUNT(1) FROM SYS_PARAMETER WHERE UPDATER IS NULL
SELECT COUNT(1) FROM SYS_PARAMETER WHERE UPDATER IS NOT NULL```
当UPDATER 的值为NULL时,除了第三条语句,有值,其余均为0。
8.CASE
<div class="se-preview-section-delimiter"></div>
如果值为1,则显示男,为2显示女,否则显示保密。
9.CASE THEN
同上换种写法:
CASE
WHEN SEX = '1' THEN '男'
WHEN SEX = '2' THEN '女'
ELSE '其他' END
CASE SEX
WHEN '1' THEN '男'
WHEN '2' THEN '女’
ELSE '保密' END
如果值为1,则显示男,为2显示女,否则显示保密。
9.CASE THEN
同上换种写法:
CASE
WHEN SEX = '1' THEN '男'
WHEN SEX = '2' THEN '女'
ELSE '其他' END