MySQL与mabits大小比较、日期比较示例

首先,使用mysql查询从今往后的60天数据

SELECT
	count(*),
	b1.record_date
FROM
	nk_house_use_record AS b1,
	(
		SELECT
			a.theme_id,
			a.theme_name,
			b.house_id,
			b.house_name
		FROM
			nk_house_theme AS a,
			nk_house AS b
		WHERE
			a.theme_id = ‘08a649fd-b83e-41b5-b88b-99598d4c93fe‘
		AND a.theme_id = b.theme_id
		AND a.state = ‘1‘
		AND b.state = ‘1‘
	) AS a1
WHERE
	a1.house_id = b1.house_id
AND time1 = ‘0‘
AND record_date >= CURDATE() #‘2016-06-05‘
AND record_date < DATE_SUB(CURDATE(), INTERVAL - 60 DAY)
GROUP BY
	b1.record_date

其次,移植到mabits中

<select id="queryFreeHouseCalender" resultType="com.cn.front.entity.detail.FreeHouseCalender" parameterType="com.cn.front.entity.input.QueryFreeHouse">
        SELECT
            count(*) AS num,
            b1.record_date
        FROM
            nk_house_use_record AS b1,
            (
                SELECT
                    a.theme_id,
                    a.theme_name,
                    b.house_id,
                    b.house_name
                FROM
                    nk_house_theme AS a,
                    nk_house AS b
                WHERE
                    a.theme_id = #{themeID}
                AND a.theme_id = b.theme_id
                AND a.state = ‘1‘
                AND b.state = ‘1‘
            ) AS a1
        WHERE
            a1.house_id = b1.house_id
        <if test="timeKey == ‘1‘ ">and time1 = ‘0‘</if>
        <if test="timeKey == ‘2‘ ">and time2 = ‘0‘</if>
        <if test="timeKey == ‘3‘ ">and time3 = ‘0‘</if>
        <if test="timeKey == ‘4‘ ">and time4 = ‘0‘ and time5=‘0‘</if>    

        <if test="startDate != null">AND record_date &gt;=  #{startDate}</if>
        <if test="endDate != null">AND record_date &lt;= #{endDate}</if>    

        <if test="startDate == null">AND Date(record_date) &gt;= CURDATE() </if>
        <if test="endDate == null">AND Date(record_date) &lt; DATE_SUB(CURDATE(), INTERVAL - 60 DAY) </if>
        GROUP BY
            b1.record_date
    </select>

xml特殊符号转义写法

&lt; <

&gt; >

&lt;&gt; <>

&amp; &

&apos; ‘

&quot; "

时间: 2024-11-06 23:10:58

MySQL与mabits大小比较、日期比较示例的相关文章

MYSQL计算两个字段日期差

一,TIMESTAMPDIFF 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2). 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.该参数必须是以下值的其中一个: FRAC_SECOND.表示间隔是毫秒 SECOND.秒 MINUTE.分钟 HOUR.小时 DAY.天 WEEK.星期 MONTH.月 QUARTER.季度 Y

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法

mysql中计算两个日期的时间差函数TIMESTAMPDIFF用法: 语法: TIMESTAMPDIFF(interval,datetime_expr1,datetime_expr2) 说明: 返回日期或日期时间表达式datetime_expr1 和datetime_expr2the 之间的整数差.其结果的单位由interval 参数给出.interval 的法定值同TIMESTAMPADD()函数说明中所列出的相同. mysql> SELECT TIMESTAMPDIFF(MONTH,'200

Mysql 建表时,日期时间类型选择

mysql(5.5)所支持的日期时间类型有:DATETIME. TIMESTAMP.DATE.TIME.YEAR. 几种类型比较如下: 日期时间类型 占用空间 日期格式 最小值 最大值 零值表示  DATETIME  8 bytes  YYYY-MM-DD HH:MM:SS  1000-01-01 00:00:00 9999-12-31 23:59:59 0000-00-00 00:00:00  TIMESTAMP  4 bytes  YYYY-MM-DD HH:MM:SS  197001010

MYSQL BLOB 字段大小以及个数的限制测试。

测试结论 mysql版本 5.1 表类型: innodb, row_format=compact (这是默认的行格式) 插入超过10个blob, blob的数据量很小(<768字节), 插入成功. 插入超过10个blob, blob的数据量很大(>768字节), 插入失败:报 Got error 139 from storage engine. 注意,如果mysql服务器版本是5.1, innodb_file_format选项不存在, 也就无从谈起Barracuda格式. 设置row_form

mysql获得60天前unix时间示例

在mysql中获取多少天前的unix时间的方法.首先根据now()获得当前时间,使用adddate()方法获得60天前时间,使用unix_timestamp()方法转换时间类型 select UNIX_TIMESTAMP(ADDDATE(NOW(),INTERVAL -60 DAY)) 首先根据now()获得当前时间使用adddate()方法获得60天前时间使用unix_timestamp()方法转换时间类型 mysql获得60天前unix时间示例

JS 比较日期相隔都少天&amp;&amp; 比较两个日期大小&amp;&amp;指定日期往前后推指定天数

//这些天常接触到有关于js操作日期事 就小结了一下,希望对你有帮助 function conversionDate(a,b){ var start =a.split('-'); var end = b.split('-'); //转换为date对象 var strDateS = new Date(start[0], start[1], start[2]); var strDateE = new Date(end[0], end[1], end[2]); var differ=parseInt(

MYSQL BLOB 字段大小以及个数的限制測试。

測试结论mysql版本号 5.1    表类型: innodb, row_format=compact (这是默认的行格式)    插入超过10个blob, blob的数据量非常小(<768字节), 插入成功.    插入超过10个blob, blob的数据量非常大(>768字节), 插入失败:报 Got error 139 from storage engine.     注意,假设mysqlserver版本号是5.1, innodb_file_format选项不存在, 也就无从谈起Barr

Mysql在字符串类型的日期上加上10分钟并和现在的日期做比较

SELECT id FROM tran WHERE state = 'F' AND TIMESTAMPDIFF(SECOND,DATE_ADD(create_date,INTERVAL 10 DAY_MINUTE),"2014-06-18 10:30:29")>0 如果create_date加10分钟大于等于当前的时间("2014-06-18 10:30:29") 那么就会查到数据, 如果小于那么就查不到数据 Mysql在字符串类型的日期上加上10分钟并和现在

C连接MySQL数据库开发之Linux环境完整示例演示(增、删、改、查)

一.开发环境 ReadHat6.3 32位.mysql5.6.15.gcc4.4.6 二.编译 gcc -I/usr/include/mysql -L/usr/lib -lmysqlclient main.c -o main.out -I:指定mysql头文件所在目录(默认去/usr/include目录下寻找所用到的头文件) -L:指定mysql动态库文件所在目录(默认从/usr/lib目录查找) -l:链接libmysqlclient.so动态库 -o:生成的可执行文件名 三.完整示例 //