数据库日期

博客主要介绍了MySQL中大于等于、小于等于的写法。因在MyBatis框架的xml中,<= 和 >= 解析会报错,需进行转译,并给出了两种写法示例。还展示了按年、月、周查询开发者下已上线应用以及按条件分页查询用户操作日志的SQL语句。

<!--查按年询某个开发者下已上线的应用-->
<select id="selectAppByYearAndDevId" resultType="java.util.Map">
SELECT
app_name AS appName,
app_id As appId,
DATE_FORMAT(create_time, '%Y') AS date
FROM
aisv_g_app_info
WHERE
DATE_FORMAT(create_time, '%Y') = #{year}
AND is_del = 0
AND app_state = 5
AND developer_id = #{developerId}
</select>

<!--查按月询某个开发者下已上线的应用-->
<select id="selectAppByMonthAndDevId" resultType="java.util.Map">
SELECT
app_name AS appName,
app_id As appId,
DATE_FORMAT(create_time, '%Y-%m') AS date
FROM
aisv_g_app_info
WHERE
DATE_FORMAT(create_time, '%Y-%m') = #{month}
AND is_del = 0
AND app_state = 5
AND developer_id = #{developerId}
</select>

<!--查按周询某个开发者下已上线的应用-->
<select id="selectAppByWeekAndDevId" resultType="java.util.Map">
SELECT
app_name AS appName,
app_id As appId,
DATE_FORMAT(create_time, '%Y-%m-%d') AS date
FROM
aisv_g_app_info
WHERE
DATE_FORMAT(create_time,'%Y-%m-%d') <![CDATA[ <= ]]>#{todayStr} AND
DATE_FORMAT(create_time,'%Y-%m-%d')<![CDATA[ >= ]]>#{sevenDayBeforeStr}
AND is_del = 0
AND app_state = 5
AND developer_id = #{developerId}
</select>

<select id="selectListByUserOperationLogPage" resultMap="userOperationLogResult">

SELECT *
FROM
aisv_g_user_operation_log
<where>
1=1
<if test="param.userName!= null and param.userName !=''">
and
user_name =#{param.userName}
</if>
<if test="param.userIp != null and param.userIp !=''">
and
USER_IP =#{param.userIp }
</if>
<if test="param.operationType != null and param.operationType !=''">
and
OPERATION_TYPE =#{param.operationType}
</if>
<if test="param.startdate != null and param.startdate !=''">
and
OPERATION_TIME &gt;=#{param.startdate}
</if>
<if test="param.enddate != null and param.enddate !=''">
and
OPERATION_TIME &lt;=#{param.enddate}
</if>
</where>
order by OPERATION_TIME DESC
limit #{page.begin},#{page.pageSize}
</select>

@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd")
private LocalDateTime transactionDate;

 

 


MySQL中大于等于小于等于的写法

由于在mybatis框架的xml中<= , >=解析会出现问题,编译报错,所以需要转译
第一种写法:

原符号 < <= > >= & ’ "
替换符号 &lt; &lt;= &gt; &gt;= &amp; &apos; &quot;
例如:sql如下:

unix_timestamp(target.mc_end_date)&lt;= unix_timestamp(#{MonthEndTime});unix_timestamp(target.mc_start_date) &gt;= unix_timestamp(#{MonthBeginTime})
  • 1

第二种写法:
大于等于

<![CDATA[ >= ]]>

小于等于

<![CDATA[ <= ]]>

例如:sql如下:

mc_end_date <![CDATA[ >= ]]> #{endTime} and  mc_start_date <![CDATA[ <= ]]> #{startTime}

转载于:https://www.cnblogs.com/gavin-yao/p/10531698.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值