2017-08-14 52 views
-3

我有一个地方列表,许多地方都没有在它们通常在短划线字符( - )之后开始的地方的名称的末尾添加它们的ID。我只需要显示地点的名称而不是ID。所有的ID有5个字符的长度,特定字符之后的修剪字符串sql

即:

132 rockaway blvd -12345 , 176-58 bayshore avenue -78952, 12-89 rosedale place but I need to only display: 
    132 rockaway blvd 
    176-58 bayshore avenue 
    12-89 rosedale place 

I have tried `select distinct right(rtrim(placeName),7) from places` but this only gives me the last characters -12345 
+0

我认为你需要使用左SELECT LEFT(placeName,LEN(placeName) - 5)FROM places ---假设你永远不会有空值,如果有空值,你也需要处理它。 –

回答

0
declare @table1 as table(column1 varchar(200)) 
insert into @table1(column1) values('132 rockaway blvd -12345') 
insert into @table1(column1) values('176-58 bayshore avenue -78952') 
insert into @table1(column1) values('12-89 rosedale place -9999999999') 
select 
column1, left(column1,len(column1)-charindex('-',reverse(column1))) 
from @table1 

--IF你可以给我更多的例子我能修改此查询