提问人:RealSteel 提问时间:9/6/2023 最后编辑:Thom ARealSteel 更新时间:9/6/2023 访问量:58
获取数据替换大括号之间的文本()
Get data replacing text between braces()
问:
我有一个表格,其中的位置数据可以采用 3 种不同的格式,如下所示
- 美国(US);纽约 (NY)
- 美国(US);纽约
- 美国;纽约
我必须使用上述所有 3 种格式提取所有记录。
因此,我尝试将大括号中的内容替换为空,然后开始比较。
查询是
select * from TaxonomyLocations_Archive
where REPLACE(REPLACE(TaxonomyHierarchy,
SUBSTRING(TaxonomyHierarchy,
CHARINDEX('(', TaxonomyHierarchy),
CHARINDEX(')', TaxonomyHierarchy) -
CHARINDEX('(', TaxonomyHierarchy) + 1), ''),
' ;', ';') ='United States;New York'
但是上面的查询只是比较数据,直到第一次出现括号,并且只返回与第二和第三格式 [ 和 ] 的匹配项。United States (US);New York
United States;New York
请向我建议我必须做的更改,以使其也适用于第一种格式 []。United States (US);New York (NY)
答:
0赞
Vasiliy Volk
9/6/2023
#1
变体:
select * from TaxonomyLocations_Archive
where TaxonomyHierarchy like 'United States%' AND TaxonomyHierarchy like '%;New York%'
评论
IN
New York; United States
USA