替换字符串中的前导字符

no9*_*no9 8 sql sql-server sql-server-2008

如果它们是零,我将如何替换前两个字符?

例:

 1. 00001
 2. 00123
 3. 02451
Run Code Online (Sandbox Code Playgroud)

应该:

 1. 11001
 2. 11123
 3. 02451
Run Code Online (Sandbox Code Playgroud)

编辑:忘记提及我需要在select子句(在视图中)Thanx.

And*_*mar 23

update  YourTable
set     col1 = '11' + substring(col1, 3, len(col1)-2)
where   col1 like '00%'
Run Code Online (Sandbox Code Playgroud)

在视图中,您可以这样做:

select   case
         when col1 like '00%' then stuff(col1, 1, 2, '11')
         else col1
         end
from     YourTable;
Run Code Online (Sandbox Code Playgroud)

SQL Fiddle的实例.


bum*_*mmi 9

declare @a varchar(10)

select @a='01123'

Select case when LEFT(@a,2)='00' then STUFF(@a,1,2,'11') else @a end
Run Code Online (Sandbox Code Playgroud)