gpt4 book ai didi

sql - 地址解析 - 楼层#

转载 作者:行者123 更新时间:2023-12-03 03:15:07 33 4
gpt4 key购买 nike

我有一些地址数据需要解析。除楼层数据外,大多数地址信息都以适合我的方式提供。

对于以不同方式获取的楼层数据,我可能会得到以下格式:

“大街 123 号 2 楼”或“大街 123 号 2 楼”

如果我使用 case...when 语句来解析我的数据,如何让它确定何时获取之后的数字或之前的数字?最终我想要“Floor 2”作为示例 1,“2nd Floor”作为示例 2。

这是我当前使用的sql。

CASE WHEN (addr LIKE 'floor%' and addr LIKE '%[0-9]%' ) THEN SUBSTRING(addr, CHARINDEX('Floor ', addr), 
LEN(addr))

最佳答案

使用 PatIndex() 之和的另一个选项

示例

Declare @YourTable table (addr varchar(50))
Insert into @YourTable values
('123 Main Street Floor 2')
,('123 Main Street 2nd Floor')
,('123 Main Street')

select *
,FloorNr = NullIf(ltrim(rtrim(substring(addr,patindex('%Floor [1-9]%',addr)+patindex('% [1-9]% Floor',addr),25))),addr)
From @YourTable

返回

addr                        FloorNr
123 Main Street Floor 2 Floor 2
123 Main Street 2nd Floor 2nd Floor
123 Main Street NULL

关于sql - 地址解析 - 楼层#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45443288/

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