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