检查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