sql语句中 if、ifnull 、nullif、isnull、Form dual用法

670 阅读1分钟

1、IF()函数的使用

IF(1,2,3),如果1的值为true,则返回2的值,如果1的值为false,则返回3的值。 例:

SELECT IF(TRUE,'A','B'); -- 输出结果:A

SELECT IF(FALSE,'A','B'); -- 输出结果:B

2、IFNULL()函数的使用

IFNULL(1,2),如果1的值为null,则返回2的值,如果1的值不为null,则返回1的值。

SELECT IFNULL(NULL,'B'); -- 输出结果:B

SELECT IFNULL('996','B'); -- 输出结果:996

3、NULLIF()函数的使用

NULLIF(1,2),如果1=2成立,那么返回值为null,否则返回值为1的值。

SELECT NULLIF('A','A'); -- 输出结果:null

SELECT NULLIF('A','B'); -- 输出结果:A

4、ISNULL()函数的使用

ISNULL(e),如果e的值为null,则返回1,如果e的值不为null,则返回0。

SELECT ISNULL(NULL); -- 输出结果:1

SELECT ISNULL('996'); -- 输出结果:0

Form dual :

dual是一个虚拟表。在MySQL中,DUAL纯粹是为了满足select ... from...这一习惯

用途:

1-- 查询系统时间 结果:2018/04/17 15:00:48 --

select sysdate from dual;

2-- 字符串转日期格式 结果: 2018/04/16 --

select to_date('2018-04-16','yyyy-MM-dd HH24:mi:ss') from dual;

3-- 日期转字符串格式 结果:2018-04-17 15:01:11--

select to_char(sysdate,'yyyy-MM-dd HH24:mi:ss') from dual;

4-- 数字格式化 结果:123,456,789 --

select to_char(123456789,'999,999,999,999') from dual;

5-- 数字添加符号结果:符号 结果:123.0--

select to_char(123,'$99,999.9') from dual;

6--计算,构造数据等。

7--将几个表中的某一个数据查询出来,然后统一拿出来