加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

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

发布时间:2021-03-06 01:53:48 所属栏目:编程 来源:网络整理
导读: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 hours
end as dd from timesheets ;
+---------+
| dd      |
+---------+
| ON 1.50 |
| ON 1.50 |
| 1.00    |
| 1.50    |
+---------+
4 rows in set (0.00 sec)

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读