报错select CASE WHERE create_user == 'a' THEN '' ELSE create_user END CASE when from t_drive_trajectory_management_temp_20240924
时间: 2024-09-30 19:14:27 浏览: 27
这个SQL查询看起来像是试图通过CASE语句在`t_drive_trajectory_management_temp_20240924`表中选择数据,条件是`create_user`字段等于 `'a'` 时返回空字符串,否则返回`create_user`值。但是,这个查询存在一些语法错误:
1. `SELECT CASE` 和 `END CASE` 之间的块应该包裹着`WHEN` 或者 `ELSE` 子句,而不是单独的 `WHERE` 子句。
2. 如果`create_user`确实有 `'a'` 这种值,并期望匹配结果为空,那么通常不会直接将空字符串赋给整个列;如果只想过滤出 `'a'` 的行,可以去掉 `THEN ''` 部分。
修正后的语法可能是这样的:
```sql
SELECT
CASE
WHEN create_user = 'a' THEN ''
ELSE create_user
END AS filtered_create_user
FROM t_drive_trajectory_management_temp_20240924
```
如果你想要获取所有非 `'a'` 的用户,则应去掉 `''`:
```sql
SELECT
CASE
WHEN create_user = 'a' THEN NULL -- 或者其他默认值,如NULL
ELSE create_user
END AS filtered_create_user
FROM t_drive_trajectory_management_temp_20240924
```
阅读全文