Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个如下查询: -
DECLARE @rptID VARCHAR(8) SET @rptID = (SELECT reportID FROM Reports)
通常@rptID包含数字,如'00001234'等。但是有没有办法验证变量@rptID 是否包含任何非数字值。
例如。
IF (@rptID contains non-numeric value) THEN throw Error
检查任何不在 0 到 9 范围内的字符
^不在 LIKE 表达式中
^
IF @rptID LIKE '%[^0-9]%' --throw error
ISNUMERIC如果您使用的是 2008 版或更高版本,则 MSSQL中还有一个函数。
ISNUMERIC
提到的链接
IF (not ISNUMERIC(@rptID) = 1) THEN throw Error