Mysql 表达式
Posted 万隆
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql 表达式相关的知识,希望对你有一定的参考价值。
IF
SELECT id,IF(display=1,"禁止使用",display) from jobs LIMIT 10
如果display的列的值为1 则值变成禁止使用不是的话就还是使用原来列的值
SELECT IF(name like "%php%" and name LIKE "%JAVA%",CONCAT("java",name),id) from jobs LIMIT 10
模糊匹配表达式
可以在where 表达式添加的都可以塞进这个if 表达式中
IFNULL
SELECT id,IFNULL(deleted_at,"已经删除了") from jobs LIMIT 10
判断列的值是否为null 为null 就替换成其他值
其他这个表达式也可以替换成
SELECT id,IF(deleted_at is null,"已经删除了",deleted_at) from jobs LIMIT 10
CASE
这个就相当于逻辑语言的 switch case default
SELECT id,case WHEN wage=56 THEN "小时工" WHen wage=20 THEN "正式工" ELSE "临时工" END from jobs LIMIT 10
根据这个wage 字段不同值返回不同的信息,最后的else 就相当于default的意思,这里面 每一个when匹配成功之后,后面的when 就不在匹配,相当于自己加上brek了,当然也可以同时匹配多个列,而且where 可以使用的表达式也可以塞进去
以上是关于Mysql 表达式的主要内容,如果未能解决你的问题,请参考以下文章
连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段