来自 数据库 2020-04-08 23:24 的文章
当前位置: 网上澳门金莎娱乐 > 数据库 > 正文

mysql条件查询if case 用法详解

现将几种主要情况进行小结: 一、如何输入NULL值 如果不输入null值,当时间为空时,会默认写入"1900-01-01",在业务处理时很麻烦。 ctrl+0即可输入NULL值。 二、如何在sql语句中判断为NULL的时间字段 假设表为:TestTable SN DateTime1 DateTime2 1 2011-10-24 2011-10-25 2 NULL 2011-10-26 3 2011-10-25 NULL 用case进行查询,若写成: select (case DateTime1 when NULL then 'a' else 'b' end) from TestTable 则查询结果为: b 这显然不是想要的结果;需要写成: select (case DateTime1 when DateTime1 then 'b' else 'a' end) from TestTable 其查询结果才为: a 这才是想要的结果。

在mysql条件查询除了使用where之外我们还可以使用像if case进行判断查询了这个比where要高级一些下面我来给大家介绍几个条件查询实例。

where条件查询

 代码如下

复制代码

select * from news where DATE(adddate) between
'2011-04-20' - INTERVAL 5 DAY and '2011-04-20' + INTERVAL 5 DAY   

select * from news where DATE(adddate) in ('2011-04-20','2011-04-15','2011-04-25')

IF条件语句的使用

mysql条件判断语句if的使用:先判断数据库中是否存在是否存在指定值存在就修改不存在就添加。
 这里我就用啦mysql存储过程的if语句

网上澳门金莎娱乐, 代码如下

复制代码

 DROP  PROCEDURE  IF EXISTS   过程名;
CREATE   PROCEDURE  过程名( 
    IN     trueName           VARCHAR(100),        
    IN     phone             VARCHAR(100),          
    IN     qqmsn              VARCHAR(100),          
    IN     mail               VARCHAR(100),         
    IN     mac               VARCHAR(100),        
    IN     heartip           VARCHAR(100)          
    )
    NOT DETERMINISTIC
    SQL SECURITY DEFINER
    COMMENT ''
BEGIN  
SELECT count(id) INTO @maccount  from `表名` where `表名`.mac=mac; --是否存在此记录
 if (@maccount>0) THEN
 update  `表名`  set `trueName`=trueName,`phone`=phone,`qqmsn`=qqmsn,`mail`=mail,`mac`=mac,

`heart`=`heart`+1,`heartip`=heartip,`heartdatetime`=CURRENT_TIMESTAMP WHERE 表

名.mac=mac;
ELSE
insert into `表名` (`trueName`,`phone`,`qqmsn`,`mail`,`mac`,`heartip`,`heartdatetime`)VALUES(trueName,phone,qqmsn,mail,mac,heartip,CURRENT_TIMESTAMP);
end IF;
END

case条件语句

 代码如下

本文由网上澳门金莎娱乐发布于数据库,转载请注明出处:mysql条件查询if case 用法详解

关键词: