mysql C Doctrine中的简单IF测试语句
发布时间:2023-12-14 13:33:24 所属栏目:MySql 来源:DaWei
导读: 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中
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更新: 非常允许答案是肯定的.这是一个例子 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 hours end as dd from timesheets ; +---------+ | dd | +---------+ | ON 1.50 | | ON 1.50 | | 1.00 | | 1.50 | +---------+ 4 rows in set (0.00 sec)(编辑:4S站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐