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( ) -------字符串转换为日期。
【随记】我是菜鸟,这是我的第一篇博客,以后也会经常记录一些学习到的东西,写的内容比较烂,存在的问题还请读到的朋友多多指教,感谢!