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的片段中加载ListView

如何理解这段代码片段中的两对括号?

连接MySQL出现错误:ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)(代码片段

通过 Java 正则表达式提取 semver 版本字符串的片段

4.3 合并重复的条件执行片段

使用 json rereiver php mysql 在片段中填充列表视图