1. 算数运算符
1.1 加法与减法运算符
SELECT 100, 100+0, 100-0, 100+50, 100-30, 100-8.8
FROM DUAL;
在SQL中,+ 没有连接左右,只表示加法运算。此时会将字符串转换为数值(隐式转换)
SELECT 100+'1'
FROM DUAL;
不能转换为数字的字符转换为0
SELECT 100 + 'a'
FROM DUAL;
null 参与运算,结果为null
SELECT 100 + null
FROM DUAL;
1.2 乘法与除法运算符
分母为0,结果为null
除法结果为小数形式
SELECT 100*1, 100*1.0, 100/1.0, 100/2,
100+2*5/2, 100/3, 100 DIV 0
FROM DUAL;
1.3 取模运算(% 或 mod)
结果的符号与被模数有关。
SELECT 12%3, 12%5, 12%-5, -12%5, -12%-5
FROM DUAL;
练习:查询员工id为偶数的员工信息
SELECT *
FROM employees
WHERE employee_id%2 = 0;
2. 比较运算符
2.1 等于(=)
不可以对 NULL 进行运算
SELECT 1 = 2, 1 != 2, 1 = '1', 1 = 'a', 0 = 'a' # 字符串中存在隐式转换
FROM DUAL;
SELECT a = 'a', 'ab' = 'ab', 'a' = 'b' # 字符串比较时比较ASCII码
FROM DUAL;
SELECT 1 = NULL, NULL = NULL # 只要有null参与判断,结果就为null
FROM DUAL;
SELECT last_name, salary
FROM employees
WHERE salary =