我想返回所有行,其中columnX有10位数字,没有别的(例如'1234567890')。有问题的列有其他格式化数据,如4个alpha和4个数字(例如ABCD1234)等。
我想在SQL Server 2012查询中使用我的正则表达式。
答案 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