可以写一个函数: 主要是使用正则来判断。另外输入字符是空的话,使用”-“来替换。
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
实例说明: