gpt4 book ai didi

mysql - Sybase CASE 表达式的结果可以有默认列名吗?

转载 作者:行者123 更新时间:2023-11-29 22:26:01 27 4
gpt4 key购买 nike

我有一个 sybase 查询,其结构如下:

SELECT 
case
when isnull(a,'') <> '' then a
else convert(varchar(20), b)
end
FROM table_name
WHERE b=123

它用于在名为“converted”的列中返回“case”的结果。现在,它在具有空字符串名称“”的列中返回“case”的结果。

怎么会这样呢?是否存在某种数据库配置默认无名称“案例”的结果?

(我已经通过在“结束”后添加“计算得出”来修复了损坏的查询,但现在我想知道在添加修复之前它是如何返回为“计算出的”?)

最佳答案

这是你想要的吗?

SELECT (case when isnull(a, '') <> '' then a
else convert(varchar(20), b)
end) as converted
-------------^
FROM table_name
WHERE b = 123;

顺便说一句,您可以将 select 更简洁地编写为:

SELECT coalesce(nullif(a, ''), b) as converted

关于mysql - Sybase CASE 表达式的结果可以有默认列名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30264597/

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