2014-01-28 49 views
5

您好我需要跳过可能包含文本sql中跳过包含字符串

示例行的行:我有表OUTSTANDING和我的领域如下。

INVOICENO 
AB1  
111 
ZX3 

我需要跳过行包含AB1ZX3,并选择包含111

行我曾尝试此查询

"SELECT * FROM [INT]..OUTSTANDING WHERE INVOICENO NOT LIKE '%[a-z,-]%'"; 
+0

你只想要的数值? – Mihai

+0

我需要选择那些只包含数值的行。 – Rakesh

+0

如果您使用SQL Server 2012并启用了CLR,请检查TRY_PARSE函数。 – Kahn

回答

1
Select * 
FROM [INT]..OUTSTANDING 
WHERE IsNumeric(INVOICENO) = 1 
And INVOICENO Is Not NULL 
+0

+1试过这个,它的工作原理。简单而有效。 –

0

尝试以下mothods:

方法1:

SELECT * 
FROM [INT]..OUTSTANDING 
WHERE InvoiceNo IS NOT NULL 
    AND ISNUMERIC(InvoiceNo)=1 

Mehod 2:

SELECT * 
FROM [INT]..OUTSTANDING 
WHERE InvoiceNo IS NOT NULL 
    AND INVOICENO NOT LIKE '%[^0-9]%'