gpt4 book ai didi

sql - 在 Case 语句中进行类型转换

转载 作者:行者123 更新时间:2023-11-29 14:30:55 24 4
gpt4 key购买 nike

Segment

1
2
3
4
NUll
5

如果 Segment 值为空,我想归因于“其他”

预期输出

  Segment

1
2
3
4
Other
5

我试过了

 select 
case when segment is null then 'Other' else segment end as segment
from table;

它说“numeric”类型的输入语法无效:其他

最佳答案

case 表达式返回单一类型。问题是 segment 是一个数字,而 'Other' 是一个字符串。表达式必须做出选择,它选择数字类型(遵循标准 SQL 规则)。

这很容易修复。只需转换:

select (case when segment is null then 'Other' else segment::text end) as segment 
from table;

使用 coalesce() 编写此查询会更自然:

select coalesce(segment::text, 'Other') as segment
from table;

关于sql - 在 Case 语句中进行类型转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52013601/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com