2014-10-29 3 views
5

Я хочу, чтобы заменить определенный символ на позиции 4 в SQL Server, я знаю о замене или случай, когда, но моя проблема в том, что я просто хочу, чтобы 4-й позиции символа замены,Как заменить символ в SQL

я пытаюсь как

SELECT REPLACE(_NAME,0,1) AS exp FROM _EMPLOYEE 

но не cheching 4-й символ

, например, если _name содержат IMR002001, то он должен быть IMR012001

ответ

7

Использование stuff():

select stuff(_NAME, 4, 1, '@') 

Это заменяет подстроку, начиная с позиции 4 с длиной 1 со строкой, которая является четвертым аргументом. Строка может быть длиннее или короче, чем заменяемая строка.

Для примера:

select stuff(_NAME, 4, 1, '1')