特殊字符作普通字符处理时
一、特殊符号作为普通字符查询时
模糊查询中的通配符%,等,若是本身就作为查询的字符,如何处理呢?
使用转义。
比如
#案例3:查询员工名字第二个字符为_的员工名字
可以用\转义,即_。
也可以标准的转义手法说明,即 ‘X_’ ESCAPE ‘X’;来说明X是转义字符,任意都可以
SELECT
last_name
FROM
employees
WHERE
last_name LIKE ‘@%’ ESCAPE ‘@’;
空值NULL在select,where,having等语句中处理不当,报错
二、含有空值的字段参与运算时,采用IFNULL(expr1,expr2)
#算术运算时处理空值,null+数值为null
#查询员工号为176的员工的姓名和部门号和年薪
#年薪=月薪12(1+奖金率),计算字段
SELECT
employee_id,department_id,
salary12(1+IFNULL(commission_pct,0)) AS salary_year
FROM
employees
WHERE
employee_id=176;
三、含有空值的字段参与拼接时,会报错或为null。
#+的作用,加法运算尔
#想查询员工名和姓,奖金率拼接成一个字段,显示为姓名
#使用concat拼接,但是不能拼接null值,否则拼接值变成null
SELECT CONCAT(first_name,’,’,last_name,’,’,IFNULL(commission_pct,0))
AS 姓名
FROM employees;
mysql中函数
mysql中的函数都有返回值,且不做单独使用。与select结合使用,①执行函数的函数体②查询对应的返回值。