<select id="getRx400DataByShId" resultType="com.kalvin.kvf.modules.ctkg.entity.TCtZbtbRx400"> SELECT * FROM t_ct_zbtb_rx400 where del_flag=0 <if test="queryVO.shId !='' and queryVO.shId !=null "> and sh_id = #{queryVO.shId} </if> order by STR_TO_DATE(call_date,'%Y,%m,%d') desc, call_time desc </select>我想按照call_date排序,它应该是日期格式,但在数据库中是string,请问我要怎么改查询语句?
时间: 2024-03-09 12:48:52 浏览: 93
您可以使用MySQL的STR_TO_DATE函数将字符串转换为日期格式,然后再进行排序。修改您的查询语句如下:
```
<select id="getRx400DataByShId" resultType="com.kalvin.kvf.modules.ctkg.entity.TCtZbtbRx400">
SELECT *
FROM t_ct_zbtb_rx400
WHERE del_flag=0
<if test="queryVO.shId !='' and queryVO.shId !=null ">
AND sh_id = #{queryVO.shId}
</if>
ORDER BY STR_TO_DATE(call_date,'%Y,%m,%d') DESC, call_time DESC
</select>
```
在此查询中,我们使用了MySQL的STR_TO_DATE函数将call_date字符串转换为日期格式,然后按照日期格式进行排序。
相关问题
<select id="selectListView" resultType="com.entity.TokenEntity" > SELECT t.* FROM token t <where> 1=1 ${ew.sqlSegment}</where> </select>
这段代码是用XML语言写的,它是用来执行一个查询语句并返回查询结果的。具体来说,它包含一个SELECT语句,用于从名为"token"的表中查询数据。同时,它还包含一个<where>标签,用于根据条件动态生成WHERE子句中的过滤条件。其中,${ew.sqlSegment}是一个变量,它将在运行时被替换为实际的查询条件。这段代码还指定了结果集类型为com.entity.TokenEntity,表示返回的查询结果将被映射到TokenEntity类的对象中。
<select id="selectListView" resultType="com.entity.UserEntity" > SELECT u.* FROM users u <where> 1=1 ${ew.sqlSegment}</where> </select>
这段代码是用XML语言写的,它是用来执行一个查询语句并返回查询结果的。具体来说,它包含一个SELECT语句,用于从名为"users"的表中查询数据。同时,它还包含一个<where>标签,用于根据条件动态生成WHERE子句中的过滤条件。其中,${ew.sqlSegment}是一个变量,它将在运行时被替换为实际的查询条件。这段代码还指定了结果集类型为com.entity.UserEntity,表示返回的查询结果将被映射到UserEntity类的对象中。
阅读全文