mysql–Doctrine中的简单IF测试语句

mysql–Doctrine中的简单IF测试语句,第1张

概述Doctrine是否支持IF语句?我收到以下错误:Expected known function, got 'IF' 使用IF执行此查询时:$qb->select('c.id, IF(c.type_id LIKE 9, c.name, c.lastname) as name') 它在纯SQL中重写时工作正常.任何解决方法?最佳答案是的,如果不支持原则中

Doctrine是否支持IF语句?我收到以下错误:

Expected kNown function,got 'IF'

使用IF执行此查询时:

$qb->select("c.ID,IF(c.type_ID liKE 9,c.name,c.lastname) as name")

它在纯sql中重写时工作正常.任何解决方法?最佳答案是的,如果不支持原则中的陈述,您可以将其转换为大小写

IF(c.type_ID liKE 9,c.lastname) as name

case when c.type_ID = 9 then c.name else c.lastname end as name

更新:
从注释中,在case-when中允许使用concat函数

非常允许答案是肯定的.这是一个例子

MysqL> select * from timesheets ;+-----------+-------+----------+| clIEnt_ID | hours | category |+-----------+-------+----------+|         1 |  1.50 | onsite   ||         1 |  1.50 | onsite   ||         1 |  1.00 | remote   ||         2 |  1.50 | remote   |+-----------+-------+----------+4 rows in set (0.00 sec)MysqL> select case when category = 'onsite' then concat('ON',' ',hours) else hoursend as dd from timesheets ;+---------+| dd      |+---------+| ON 1.50 || ON 1.50 || 1.00    || 1.50    |+---------+4 rows in set (0.00 sec)
总结

以上是内存溢出为你收集整理的mysql – Doctrine中的简单IF测试语句全部内容,希望文章能够帮你解决mysql – Doctrine中的简单IF测试语句所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/sjk/1166427.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-01
下一篇2022-06-01

发表评论

登录后才能评论

评论列表(0条)

    保存