检查变量是否包含SQL Server中的任何非数字数字

时间:2013-08-12 13:46:23

标签: sql sql-server-2000

我的查询如下: -

DECLARE @rptID VARCHAR(8)
SET @rptID = (SELECT reportID FROM Reports)

一般来说, @rptID 包含数字,例如'00001234'等。但有没有办法验证变量 @rptID 是否包含任何非数字值

对于前。

IF (@rptID contains non-numeric value)
            THEN throw Error

2 个答案:

答案 0 :(得分:16)

检查不在0到9范围内的任何字符

^ is not in LIKE expressions

IF @rptID LIKE '%[^0-9]%'
   --throw error 

答案 1 :(得分:0)

如果您使用的是2008版或更高版本,则MSSQL中还有一个ISNUMERIC函数。

mentioned link

IF (not ISNUMERIC(@rptID) = 1)
    THEN throw Error