是否可以在MySQL 语句中组合CASE语句和LIKE运算符SELECT?
例如,我试图查询一个数据库,该数据库以两种格式之一存储单个列中的数据(这很糟糕并且伤害了我的头脑,但我无法更改数据,所以它就是它.).所以有时列numbers会有像"6901xxxxxxxx"这样的数据,有时会有像"91xxxxxxxxxxx"这样的数据.
我想做的是像这样查询数据 -
SELECT
CASE digits
WHEN LIKE "6901%" THEN substr(digits,4)
WHEN LIKE "91%" THEN substr(digits,2)
END as "digits",
FROM raw
Run Code Online (Sandbox Code Playgroud)
这显然不起作用,但我希望它可能.
Dan*_*uis 78
使用第二种形式CASE应该工作:
SELECT
CASE
WHEN digits LIKE '6901%' THEN substr(digits,4)
WHEN digits LIKE '91%' THEN substr(digits,2)
END as digits
FROM raw
Run Code Online (Sandbox Code Playgroud)
此外,你的结尾有一个流浪逗号SELECT.
尝试
SELECT
CASE true
WHEN digits LIKE "6901%" THEN substr(digits,4)
WHEN digits LIKE "91%" THEN substr(digits,2)
END as "digits",
FROM raw
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61001 次 |
| 最近记录: |