我的代码如下:

SELECT

FROM ty_article a

a.del_flag = #{DEL_FLAG_NORMAL}

AND a.en_version = #{enVersion}

AND a.category = #{category}

AND a.top = #{top}

AND a.title LIKE

'%'||#{title}||'%'

'%'+#{title}+'%'

concat('%',#{title},'%')

order by a.weight desc ,str_to_date(a.publish_date, '%Y年%m月%d日') desc

order by a.weight desc ,str_to_date(a.publish_date, '%d %M %Y') desc

choose...when...otherwise语法,when中的条件不起作用,不管条件是不是0,都取otherwise中的结果。

首先,仔细检查语法格式,感觉没有问题啊,怎么就不起作用呢?

其次,有检查调用sql时传递的参数enVersion也是String类型,所以书写也没问题啊。

最后,检查数据中enVersion的数据类型,发现是char(1),于是把代码条件换成这样,再测试,

order by a.weight desc ,str_to_date(a.publish_date, '%Y年%m月%d日') desc

order by a.weight desc ,str_to_date(a.publish_date, '%d %M %Y') desc

结果,成功了。原来数据再判断参数类型时,还跟参数在表中对应的数据类型有关。在参数比较的过程直接转成了int型,所以把

enVersion =='0', 改成 enVersion == 0,问题解决。

总结在此,期望对以后有所帮助。

mysql choose when_mybitis下choose..when. otherwise条件不起作用相关推荐

  1. mysql左连接null值丢失、条件不起作用的问题

    一.问题 在mysql左连接时, 写上where时,空值丢失,数据减少 不写where,只用and连接,主表条件不起作用,数据变多. 二.错误复现 1.当使用where+条件时,左连接查询空值丢失 S ...

  2. mysql中要创建choose数据库_在MySQL中要创建choose数据库,应该使用命令“crea

    在MySQL中要创建choose数据库,应该使用命令"crea 在MySQL中要创建choose数据库,应该使用命令"createtablechoose;" 血压调节实验 ...

  3. (19)一篇掌握MySQL数据库基础下 基本操作(外键约束、建表原则、多表查询、子查询)

    MySQL数据库基础下 一.修改表--添加外键约束 二.多表之间的建表原则 1.建数据库原则:通常情况下,一个项目/应用建一个数据库 2.多表之间的表原则: (1)一对多:分类和商品 (一个分类对应多 ...

  4. mysql在cmd下启动及操作

    mysql在cmd下启动/导出操作 开启 1.设置环境变量 将mysql安装位置对应下的bin文件夹的位置复制到path之中 2.开启服务 net start mysql57(服务名) 3.进入mys ...

  5. mysql模糊查询sal怎么写_MySQL条件查询

    MySQL条件查询 条件查询需要用到where语句,where必须放到from语句表的后面. 支持如下运算符: 运算符 说明 = 等于 <>或!= 不等于 < 小于 <= 小于 ...

  6. mysql在linux下的安装

    mysql在linux下的安装 安装环境:系统是 centos6.5 1.下载 下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads ...

  7. linux下mysql授权_linux下mysql命令(用户授权、数据导入导出)

    1,linux下启动mysql的命令: 复制代码 代码示例: mysqladmin start /ect/init.d/mysql start (前面为mysql的安装路径) 2,linux下重启my ...

  8. wind mysql日志_Windows下的Mysql日志操作

    日志文件类型概述: 1. 错误日志 记录启动.运行或停止mysqld时出现的问题. My.ini配置信息: #Enter a name for the error log file. Otherwis ...

  9. windows下重启mysql数据库_windows下重启mysql的方法

    其中第二种方法对我这无效,以后再搞清楚! 一.MYSQL服务 我的电脑--(右键)管理--服务与应用程序--服务--MYSQL--开启(停止.重启动) 二.命令行方式 Windows 1.搜索&quo ...

最新文章

  1. 北方大学 ACM 多校训练赛 第十五场 买花
  2. jq 比较两个时间是否在同一天_jq: 属性-class
  3. 报错ClassNotFoundException:org.springframework.cloud.client.loadbalancer.LoadBalancerClientsProperties
  4. ApacheCN 翻译活动进度公告 2019.3.3
  5. 谷歌浏览器打开特殊端口号地址方法
  6. 软件专业面试心理测试题,面试心理测试题目,据说很准
  7. [AHK]新浪实时股票数据接口
  8. 罗格斯大学电子与计算机系排名,罗格斯大学EE排名2020年,网上最详细技巧汇总篇...
  9. STL容器之vector
  10. 生鲜配送系统源码功能介绍
  11. Tomcat 在本地创建虚拟目录myapp
  12. ③电子产品拆解分析-充电宝台灯
  13. 超详细——手把手教你用threejs实现一个酷炫的模型发光扫描效果(一)
  14. 服务器系统盘满了(解决方法)
  15. anaconda python降级有影响吗_anaconda更新所有降级包
  16. 将中国标准时间转化为yyyy-MM-dd 00:00:00格式
  17. HTML5——监听手机的一些事件:手机加速度devicemotion、设备方向变化deviceorientation、手机摇一摇、指南针
  18. 路由器里的DHCP是什么?如何开启路由器DHCP?
  19. Linux qt shell脚本,QT执行shell脚本或者执行linux指令
  20. 格式工厂绿色便携版,无需安装直接运行,专注视频格式转换软件

热门文章

  1. Rational AppScan 标准版可扩展性和二次开发能力简介
  2. JavaWEB过滤器和监听器技术
  3. 千人千面之3D立体个人数据营销
  4. Python - WebDriver 识别登录验证码
  5. 所经历的大文件数据导出(后台执行,自动生成)
  6. 解决mysql从windows迁移到centos出现乱码问题
  7. [转]亚稳态和毛刺 - Metastability and Hazard(CN)
  8. 【转】ASP.NET 2.0中Page事件的执行顺序
  9. 保护你的DLL和Code不被别人使用。
  10. Python之数据分析(Numpy的矩阵相关操作、ufunc泛化函数对象)