mysql语句总结

来源:互联网 发布:墨子出装 知乎 编辑:程序博客网 时间:2024/06/03 13:43

默认查询当前4个小时内的数据,也可以根据输入的时间段来查询数据

<select id="queryAppUserContrail" parameterType="pd" resultType="pd">        SELECT u.USER_ID,u.`NAME`,s.bs_id,s.bs_name,s.positionX,s.positionY,l.lab_num,lv.judge_res,r.rfid_ip,lv.trigger_date FROM sys_app_user AS u         LEFT JOIN t_aps_label_info AS l ON l.user_id = u.USER_ID        LEFT JOIN t_aps_labelrecordview AS lv ON lv.label_num = l.lab_num        LEFT JOIN t_aps_reader as r ON r.rfid_ip = lv.rfid_ip        LEFT JOIN t_aps_base_station AS s ON r.pass_id = s.bs_id        <where>        <choose>        <when test=" null!=start_date and start_date !='' or null!=end_date and end_date !='' ">                                           <!-- 当当前的时间段不为空时,执行当前的语句 -->        <![CDATA[lv.trigger_date>=#{start_date} and lv.trigger_date<=#{end_date}]]>        </when>        <otherwise><!-- 当上面的判断条件为假时,执行下面的默认条件 -->        <![CDATA[lv.trigger_date >DATE_SUB(NOW(),INTERVAL 4 HOUR) AND lv.trigger_date< NOW()]]>        <!--默认查询当前4个小时内的数据-->        </otherwise>        </choose>        and u.`USER_ID`=#{USER_ID}        and r.type_id='2'AND lv.judge_res=2        </where>        ORDER BY lv.trigger_date ASC    </select>

1."<![CDATA[" 开始,由 "]]>" 的作用如下:
术语 CDATA 指的是不应由 XML 解析器进行解析的文本数据(Unparsed Character Data)。
在 XML 元素中,”<” 和 “&” 是非法的。
“<” 会产生错误,因为解析器会把该字符解释为新元素的开始。
“&” 也会产生错误,因为解析器会把该字符解释为字符实体的开始。
某些文本,比如 JavaScript 代码,包含大量 “<” 或 “&” 字符。为了避免错误,可以将脚本代码定义为 CDATA。
CDATA 部分中的所有内容都会被解析器忽略。
CDATA 部分由 \"<![CDATA[" 开始,由 "]]>" \结束
2.DATE_SUB()的作用:
DATE_SUB() 函数从日期减去指定的时间间隔。
与之相对应的是:DATE_ADD()给日期添加指定的时间间隔
语法
DATE_SUB(date,INTERVAL expr type)
date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。
type 参数可以是下列值:
Type 值
MICROSECOND
SECOND
MINUTE
HOUR
DAY
WEEK
MONTH
QUARTER
YEAR
SECOND_MICROSECOND
MINUTE_MICROSECOND
MINUTE_SECOND
HOUR_MICROSECOND
HOUR_SECOND
HOUR_MINUTE
DAY_MICROSECOND
DAY_SECOND
DAY_MINUTE
DAY_HOUR
YEAR_MONTH
3.NOW():即为当前的系统时间