您的位置:首页 > 数据库 > MySQL

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

2018-02-09 15:26 731 查看
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表,   定义programme为c,live为l
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 代码,包含大量 "<" 或 "&" 字符。为了避免错误,可以将脚本代码定义为 CDATA。CDATA 部分中的所有内容都会被解析器忽略。

DATE_FORMAT(  ) ---------用于以不同的格式显示日期/时间数据。
DATE_FORMAT(date,format)date 参数是合法的日期。format 规定日期/时间的输出格式。SUBDATE(  )   ---------从日期减去指定的时间间隔。与DATE_SUB()同义DATE_SUB(date,INTERVAL expr type)date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。STR_TO_DATE(  ) -------字符串转换为日期。  
【随记】我是菜鸟,这是我的第一篇博客,以后也会经常记录一些学习到的东西,写的内容比较烂,存在的问题还请读到的朋友多多指教,感谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: