2016-11-29 36 views
0

我有以下的领域被称为字段1:的SQL Server:返回NULL如果第一个字符是数字

132 16 
Z23 12 
231 11 
JKK 11 

我想创建一个新列,字段2,因此,如果此列以数字开头,它会返回NULL,如果它以一个字母开头,它会返回整个字符串。

上面的例子看起来像:

132 16  NULL 
Z23 12  Z23 12 
231 11  NULL 
JKK 11  JKK 11 

我与

Field2 = CASE 
    WHEN (first letter is a number) THEN NULL 
    ELSE Field1 
END 

想这样做的,我需要在括号帮助填充。 在此先感谢

回答

2

尝试

Field2 = CASE 
    WHEN Field1 like '[0-9]%' THEN NULL 
    ELSE Field1 
END 
+0

删除^从开始。 –

0

使用下一个标准:

col1 like '[0-9]%' 

演示: -

Create table #temp 
(col1 varchar(10)) 

insert into #temp values 
      ('132 16'), 
      ('Z23 12'), 
      ('231 11'), 
      ('JKK 11') 


select col1 , col2 = CASE 
       WHEN col1 like '[0-9]%' THEN NULL 
       ELSE col1 
      END 
from #temp 

drop table #temp 

结果: -

enter image description here

相关问题