mysql - SQL 在 IF 条件后给出语法错误
问题描述
有人可以指导我在这个查询中哪里出错了。
SELECT ID,
IF REFERENCE_ID like '%[0-9]%'
THEN
REFERENCE_ID
ELSE
''
END
FROM TABLE
实际上,我有一个表,其中 reference_id 列有时有数值,有时只有“ - - ”或“ _- ”,因此我想在这些情况下显示空白。
解决方案
您需要一个 CASE 语句来实现:
SELECT ID,
CASE
WHEN REFERENCE_ID like '%[0-9]%' THEN REFERENCE_ID
ELSE ''
END AS ReferenceId
FROM TABLE
推荐阅读
- swift - 如何在 - 和 + 符号之间放置步进值?
- c# - uEye 相机无法设置自定义分辨率
- javascript - 在组件reactjs之外更改后如何使用全局语言环境
- event-handling - plotly:单击图例中的点时突出显示(暗淡),而不是过滤
- node.js - node.js 中 mp3 文件的 Content-Type 是什么?
- python - 数字格式python
- html - Angular Css没有从角度组件css执行
- vb.net - VB.NET 共享索引器 - 我做错了什么?
- erlang - 为 Wallaby 或 ExUnit 配置重试
- angular - 我有一个角度服务,我在那个服务中有静态方法。如何为静态方法编写单元测试?