使用正则表达式过滤掉记录

时间:2017-12-13 01:04:48

标签: sql-server

我在我的项目中使用SQL Server 2014(Enterprise)。我在表格中有一个文本列。此列中的值可以是数字,例如5,3.1,0.4等。

我想检索此列中包含数字的记录。我可以在where子句中使用T-SQL执行此操作吗?怎么样?

1 个答案:

答案 0 :(得分:2)

您可以使用isnumeric()函数测试值以查看它是否为数字。例如:

declare @tbl table (value varchar(20))

insert into @tbl
values ('5'),('3.1'),('0.4'),('this'),('is'),('a'),('test'),('9.2'),('10e-5')

select *
from   @tbl
where  isnumeric(value) = 1

返回:

value
--------------------
5
3.1
0.4
9.2
10e-5

它甚至可以检测指数表示法。