替换字符串中的前导字符

时间:2013-01-08 14:14:04

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

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

示例:

 1. 00001
 2. 00123
 3. 02451

应该是:

 1. 11001
 2. 11123
 3. 02451
编辑:忘了提及我在select子句中需要这个(在视图中) 感谢名单。

4 个答案:

答案 0 :(得分:21)

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

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

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

Live example at SQL Fiddle.

答案 1 :(得分:9)

declare @a varchar(10)

select @a='01123'

Select case when LEFT(@a,2)='00' then STUFF(@a,1,2,'11') else @a end

答案 2 :(得分:3)

你也可以使用下面的左方法

select case When left(Name,2) = '00' Then stuff(Name, 1, 2, '11')
     else Name
     end
 from YourTable

答案 3 :(得分:2)

SELECT REPLACE(LEFT(MyCol,2),'00','11')+RIGHT(MyCol,3)