SQL Server:如果第一个字符是数字,则返回Null

时间:2016-11-29 17:43:11

标签: sql-server

我有以下字段叫做Field1:

132 16
Z23 12
231 11
JKK 11

我想创建一个新列Field2,这样如果这个列以数字开头,它将返回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 个答案:

答案 0 :(得分:2)

尝试

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

答案 1 :(得分: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