1

私のデータベースでは、私の列は という名前の 40 個の同じレコードで構成されていますjee_phy_2jee_phy_2のように数字を1ずつ増やしたいjee_phy_40。誰か教えてくれませんか

DECLARE @q_id  NVARCHAR(50),@txt bigint,@final nvarchar(50)
begin 

SET @q_id='JEE_PHY_1' 


UPDATE oems_question7 SET q_id=@q_id+1 WHERE id between 1 and 40

end
4

2 に答える 2

1

これはあなたが探しているものですか?

UPDATE x
SET x.q_id = 'jee_phy_' + cast(x.newNum as nvarchar(10))
FROM (
      SELECT q_id, ROW_NUMBER() OVER (ORDER BY [q_id]) AS newNum
      FROM oems_question7
      ) x

フィドルのデモ

于 2013-08-19T12:20:58.567 に答える
0

これを試して

DECLARE @q_id  NVARCHAR(50)
begin 

SET @q_id='JEE_PHY_1' 

UPDATE oems_question7  SET q_id = SUBSTRING (@q_id ,0,CHARINDEX('_', @q_id,5) + 1 ) + ' ' + CONVERT(NVARCHAR,CONVERT(INT, SUBSTRING ( @q_id ,CHARINDEX('_', @q_id,5) + 1, LEN(@q_id) )) +1)
WHERE id between 1 and 40

end
于 2013-08-19T12:05:17.860 に答える