gpt4 book ai didi

sql - T SQL 条件字符串连接

转载 作者:行者123 更新时间:2023-12-04 16:15:27 25 4
gpt4 key购买 nike

有 5 列地址数据。我需要将这些字段连接到一个地址中,如果它们存在,则值之间有空格。如果该列有一个空值,我应该跳过它并且不输入任何空格。

select 
case
when street_number != '' THEN (cast(street_number as int))
end as street_number,
case
when street_ext != '' then
case
when street_ext = 50 then '1/2'
end
end as street_ext,
case
when street_direct ! = '' then street_direct
end as street_direct,
case
when site_street ! = '' then site_street
end as site_street,
case
when site_address ! = '' then site_address
end as site_address
from parcel

我想要做的是有一个变量并将其分配给第一列 street_number 的值,然后当我移动到下一列 street_ext 时,如果它不为空,我想检查一下变量为空,如果不是,则附加一个空格和值...等等。

我生锈了,可以朝正确的方向插入。

谢谢大家。

最佳答案

在 TSQL 中使用“+”连接字符串:

SELECT CASE 
WHEN LEN(p.street_number) > 0 THEN p.street_number + ' '
ELSE ''
END +
CASE
WHEN p.street_ext = 50 THEN '1/2'
WHEN LEN(p.street_ext) > 0 THEN ''
ELSE p.street_ext
END + ' ' +
CASE
WHEN LEN(p.street_direct) > 0 THEN p.street_direct + ' '
ELSE ''
END +
CASE
WHEN LEN(p.site_street) > 0 THEN p.site_street + ' '
ELSE ''
END +
CASE
WHEN LEN(p.site_address) > 0 THEN p.site_address + ' '
ELSE ''
END AS full_address
FROM PARCEL p

LEN function如果字符串值为 NULL 或零长度字符串,则返回零。

关于sql - T SQL 条件字符串连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4157797/

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