Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/75.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
检查SQL Server中的变量是否包含任何非数字数字_Sql_Sql Server 2000 - Fatal编程技术网

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

检查SQL Server中的变量是否包含任何非数字数字,sql,sql-server-2000,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 检查不在0到9范围内的任何字符 如果您使用的是2008版或更高版本,MS

我有一个如下的问题:-

DECLARE @rptID VARCHAR(8)
SET @rptID = (SELECT reportID FROM Reports)
一般来说,@rptID包含诸如“00001234”等数字。但是是否有方法验证变量@rptID中是否包含任何非数字值

例如

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

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


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


您的字符串缺少结尾“的可能重复项”
IF @rptID LIKE '%[^0-9]%'
   --throw error 
IF (not ISNUMERIC(@rptID) = 1)
    THEN throw Error