可以写一个函数: 主要是使用正则来判断。另外输入字符是空的话,使用"-"来替换。
CREATE FUNCTION [dbo].[svf_NonNegativeInteger] (
@val NVARCHAR(4000)
) RETURNS BIT
AS
BEGIN
DECLARE
@rtv BIT = 1 SET @val = ISNULL(LTRIM(RTRIM(@val)), N'-') IF @val LIKE '%[^0-9]%' OR @val = N''
SET @rtv = 0
ELSE
SET @rtv = 1 RETURN @rtv
END
Source Code
实例说明: