9

我有一个如下查询: -

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

通常@rptID包含数字,如'00001234'等。但是有没有办法验证变量@rptID 是否包含任何非数字值。

例如。

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

2 回答 2

24

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

^不在 LIKE 表达式中

IF @rptID LIKE '%[^0-9]%'
   --throw error 
于 2013-08-12T13:50:28.913 回答
0

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

提到的链接

IF (not ISNUMERIC(@rptID) = 1)
    THEN throw Error
于 2019-02-05T16:08:29.893 回答