博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(译)MySQL:在 WHERE 条件语句中使用 IF 语句
阅读量:5807 次
发布时间:2019-06-18

本文共 811 字,大约阅读时间需要 2 分钟。

hot3.png

IF 语句如何书写

If 语句的格式如下:

IF(
,
,
)

一个简单的例子,例子一返回 1,例子二返回 0

SELECT IF( 'a' = 'a', 1, 0 );SELECT IF( 'a' = 'b', 1, 0 );

在 WHERE 查询语句中使用 IF

下面的例子展示如何在 WHERE 查询语句中使用 IF

SELECT ...WHERE ...AND IF(myfield = 'somevalue', 1, 0) = 1
当然,上面的简单例子还可以用更简便的方法,不用 IF 去写 SQL,代码如下,上面的例子只是举个如何在 WHERE 查询语句中使用 IF
SELECT ...WHERE ...AND myfield = 'somevalue'

编码过程中,IF 语句还可以嵌套使用从而简化原有的 SQL 语句,例子如下:

SELECT ...WHERE ...AND IF(myfield = 'somevalue', IF(otherfield = 12345, 1, 0), 0) = 1

上面的条件语句,如果不用 IF 可以写成这样:

SELECT ...WHERE ...AND ( (myfield = 'somevalue' AND otherfield = 12345) OR myfield != 'somevalue' )

你是否可以再 WHERE 条件语句中使用 IF 语句?

可能用不着吧。这不是最高效的方法来处理条件语句。在理想的情况下你应该已经使用 WHERE 语句处理了绝大部分的过滤,但是如果实在有必要,请慎用。

以上文章仅作参考,是否使用此方法取决于你 :)

原文地址:

转载于:https://my.oschina.net/shamrocker/blog/97907

你可能感兴趣的文章
Redis redis-cli 命令列表
查看>>
.NET框架设计—常被忽视的框架设计技巧
查看>>
BigDecimal 舍入模式(Rounding mode)介绍
查看>>
开源 免费 java CMS - FreeCMS1.2-标签 infoSign
查看>>
开源 免费 java CMS - FreeCMS1.9 移动APP生成栏目列表数据
查看>>
git reset 三种用法总结
查看>>
hdfs笔记
查看>>
虚拟机新增加硬盘,不用重启读到新加的硬盘
查看>>
Java IO流详尽解析
查看>>
邮件服务系列之四基于虚拟用户的虚拟域的邮件系统(安装courier-authlib以及部分配置方法)...
查看>>
Linux VSFTP服务器
查看>>
DHCP中继数据包互联网周游记
查看>>
Squid 反向代理服务器配置
查看>>
Java I/O操作
查看>>
Tomcat性能调优
查看>>
项目管理心得
查看>>
Android自学--一篇文章基本掌握所有的常用View组件
查看>>
灰度图像和彩色图像
查看>>
通过vb.net 和NPOI实现对excel的读操作
查看>>
TCP segmentation offload
查看>>