MySQL语句使用(一)case when then else end 的用法

select c.*
from programme c, live l
where (case when c.update_time >= c.end then c.update_time else c.end END)<![CDATA[<]]> #{now}
and (case when c.update_time >= c.end then c.update_time else c.end END)<![CDATA[>]]>  DATE_FORMAT(SUBDATE(STR_TO_DATE(#{now},'%Y%m%d%H%i'),INTERVAL20 MINUTE),'%Y%m%d%H%i')
and c.status = 0
and c.channel_id = l.id

and (l.palyback isnull or l.palyback = '是')

【注】programme “、”live “为MySQL中的两个表,#{now}为参数

SELECT            

from   programme  live   --------  programme  live表,   定义programmeclivel

case                  -------------如果

when c.update_time >=c.end then c.update_time ------------- c.update_time >= c.end,则返回值c.update_time

else c.end              -------------其他的返回c.end

end                   -------------结束

<![CDATA[>]]>    --------------- XML 元素中,"<" "&" 是非法的。"<" 会产生错误,因为解析器会把该字符解释为新元素的开始。"&" 也会产生错误,因为解析器会把该字符解释为字符实体的开始。某些文本,比如 JavaScript 代码,包含大量 "<" "&" 字符。为了避免错误,可以将脚本代码定义为 CDATACDATA 部分中的所有内容都会被解析器忽略。

DATE_FORMAT(  ) ---------用于以不同的格式显示日期/时间数据。

DATE_FORMAT(date,format)

date 参数是合法的日期。format 规定日期/时间的输出格式。

SUBDATE(  )   ---------从日期减去指定的时间间隔。与DATE_SUB()同义

DATE_SUB(date,INTERVAL expr type)

date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。

STR_TO_DATE(  ) -------字符串转换为日期。 

 

【随记】我是菜鸟,这是我的第一篇博客,以后也会经常记录一些学习到的东西,写的内容比较烂,存在的问题还请读到的朋友多多指教,感谢!



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值