15

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

例子:

 1. 00001
 2. 00123
 3. 02451

应该:

 1. 11001
 2. 11123
 3. 02451

编辑:忘了提到我在选择子句中需要这个(在视图中)Thanx。

4

4 回答 4

34
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;

SQL Fiddle 上的实时示例。

于 2013-01-08T14:16:39.597 回答
9
declare @a varchar(10)

select @a='01123'

Select case when LEFT(@a,2)='00' then STUFF(@a,1,2,'11') else @a end
于 2013-01-08T14:18:27.690 回答
4

您也可以使用左方法,如下所示

select case When left(Name,2) = '00' Then stuff(Name, 1, 2, '11')
     else Name
     end
 from YourTable
于 2013-01-08T14:31:31.807 回答
3
SELECT REPLACE(LEFT(MyCol,2),'00','11')+RIGHT(MyCol,3)
于 2017-09-23T20:17:52.707 回答