請幫忙,我有一列(range varchar(11)
),其值爲'422000'
,'357860'
。查找字符串的第一個字符的位置
我需要一個查詢可以在第一個字符位置(即圖4和3)更改爲5
以致變得分別'522000'
和'557860'
。
我想:
select replace (SUBSTRING(range,1,1), 1,5))
但這不是正確的查詢。
我將不勝感激您的貢獻。由於
請幫忙,我有一列(range varchar(11)
),其值爲'422000'
,'357860'
。查找字符串的第一個字符的位置
我需要一個查詢可以在第一個字符位置(即圖4和3)更改爲5
以致變得分別'522000'
和'557860'
。
我想:
select replace (SUBSTRING(range,1,1), 1,5))
但這不是正確的查詢。
我將不勝感激您的貢獻。由於
使用STUFF function代替:
DECLARE
@range varchar(11);
SET @range = '422000';
SELECT @range, STUFF(@range, 1, 1, '5');
SELECT [Range],
'5' + SUBSTRING([RANGE],2,25) [ModifiedRange]
FROM (SELECT '422000' [Range]
UNION
SELECT '357860') A
在我的回答中意識到了一個缺陷,它用'5'代替了第一個數字的所有出現,而不僅僅是第一個。 – JNK
此選項將替換第一個字母不管的長度範圍
Select range, '5' + SUBSTRING(range, 2, LEN(range)) as fixedrange
相關的更新語句(這將改變您的表中的數據)將是:
Update tbl_name SET range = '5' + SUBSTRING(range, 2, LEN(range))
感謝您的協助 – Matthew
謝謝,這對我有用。 – Matthew