通过SQL选择来选择逗号前后的单词

时间:2019-06-03 14:04:28

标签: sql split

我有一个位置栏,格式为“ Los angeles,LA,US”。如何在SQL选择中仅选择“洛杉矶,美国”?  换句话说,如何删除两个逗号之间的单词?

2 个答案:

答案 0 :(得分:0)

好吧,只要您确定总会有两个逗号...

您可以通过以下方式到达洛杉矶

SELECT LEFT( 'Los angeles,LA,US', Charindex(',','Los angeles,LA,US') - 1 ) 

如果您不喜欢Left,也可以使用子字符串。

对于第二个,您将不得不使用子字符串和两个charindex来跳过第一个逗号:

SELECT Substring( 
    'Los angeles,LA,US', 
    1+ CHARINDEX ( ',',  'Los angeles,LA,US',  1+ Charindex( ',','Los angeles,LA,US')  )
    ,100) 

答案 1 :(得分:0)

假设您的数据位于“位置”表的“城市”字段中:

select CONCAT(LEFT(City, CHARINDEX(',',City)), RIGHT(City, CHARINDEX(',',REVERSE(City))-1)) as ShortName from Locations;