如何在使用正则表达式

时间:2016-08-10 16:42:19

标签: sql regex sql-server-2012

我想返回所有行,其中columnX有10位数字,没有别的(例如'1234567890')。有问题的列有其他格式化数据,如4个alpha和4个数字(例如ABCD1234)等。

我想在SQL Server 2012查询中使用我的正则表达式。

2 个答案:

答案 0 :(得分:1)

sql server中没有正则表达式。

try_cast null cast时,如果列中有任何字母,您可以使用bigint返回select * from tablename where try_cast(columnX as bigint) is not null

where

编辑:要检查列长度是否为10,请在select * from tablename where try_cast(columnX as bigint) is not null and len(columnX) = 10 子句中再添加一个条件。

func_to_extract_rating

答案 1 :(得分:1)

SQL Server REGEX将LIKE子句与%一起使用,但对于您的情况,您可以执行此操作:

SELECT columX
FROM TableT
WHERE ISNUMERIC(columnX) = 1 and LEN(C1) = 10