查找字符串第一个字符的位置

时间:2011-09-02 18:57:24

标签: sql sql-server tsql sql-server-2008

请帮助,我有一列(range varchar(11)),其值为'422000''357860'

我需要一个可以将第一个字符位置(即4和3)更改为5的查询。

分别成为'522000''557860'

我试过了:

select replace (SUBSTRING(range,1,1), 1,5))

但这不是正确的查询。

感谢您的贡献。感谢

3 个答案:

答案 0 :(得分:3)

使用STUFF function

DECLARE
    @range varchar(11);
SET @range = '422000';

SELECT @range, STUFF(@range, 1, 1, '5');

答案 1 :(得分:1)

SELECT [Range],
       '5' + SUBSTRING([RANGE],2,25) [ModifiedRange]
FROM   (SELECT '422000' [Range]
        UNION
        SELECT '357860') A 

答案 2 :(得分:1)

此选项将替换第一个字母,无论范围长度

Select range, '5' + SUBSTRING(range, 2, LEN(range)) as fixedrange

关联的Update语句(将更改表中的数据)将是:

Update tbl_name SET range = '5' + SUBSTRING(range, 2, LEN(range))