我有一张桌子。为了论证起见,我称它为 Table。在表中,我有三列。列(Pkey、名称、ID、位置)。
**PKey** **Name** **ID** **Location**
1 Penn State Main - 1551 1234 01
2 Penn State Branch - 1551 2345 02
3 Florida State - 1661 3456 03
4 Florida State Branch -1661 4567 04
我想用所有行的 ID+'-'+Location 替换破折号(-)之后的值
到目前为止我有这个:
BEGIN
declare @name1 varchar(50),@name varchar(50),@ID char(4), @location char(2)
declare @IDLocation varchar(6),@loop int
set @loop=0
set @IDLocation=''
set @name1=''
DECLARE _cursor cursor for
select name,ID,location from Table
OPEN _cursor
FETCH _cursor
into @name, @ID, @location
while @@FETCH_STATUS = 0
Begin
set @IDLocation = @ID+'-'+@location
if @loop !=0
Begin
Select SUBSTRING(@name,1,CHARINDEX('-',@name)-1)
End
set @name1= @name+'-'+ @IDLocation
set @loop= @loop + 1
Fetch _cursor
into @name, @ID, @location
End
close _cursor
deallocate _cursor
END
概括。我确实付出了努力。我执行了这个并且没有任何改变它保持与您在上面看到的相同的值。通过添加子字符串,我虽然可以删除 (-) 之后的所有内容,然后再向其中添加字符串。
请帮助我。将不胜感激。