上面的语句在when处报错HINT: No function matches the given name and argument types. You might need to add explicit type casts.
时间: 2023-11-03 07:45:31 浏览: 342
Oracle hint的用法
非常抱歉给你带来困扰。根据错误提示,可能是由于数据类型不匹配导致的问题。在某些数据库系统中,需要对字符串和数字进行显式的类型转换。
请尝试使用以下修改后的查询语句,其中对 `end_time` 字段进行了显式的类型转换:
```sql
SELECT
CASE
WHEN LENGTH(end_time::text) = 3 THEN CONCAT(SUBSTRING(end_time::text, 1, 1), ':', SUBSTRING(end_time::text, 2, 2))
ELSE end_time::text
END AS formatted_end_time
FROM your_table;
```
在上述查询中,我们使用 `::text` 将 `end_time` 字段转换为文本类型,以确保 `LENGTH` 函数和 `CONCAT` 函数可以正常工作。
请将上述查询中的 `your_table` 替换为你实际使用的表名,并适配你的数据库环境。如果仍然遇到问题,请提供更多关于你所使用的数据库系统和具体错误信息的信息,以便我能够更好地帮助你。
阅读全文