mssql sqlserver 验证字符串是否为”正整数”的方法分享


摘要:
下文讲述sql脚本中验证字符串是否为”正整数”的方法分享,如下所示:
实验环境:sql server 2008 R2



实现思路:
由于正整数中,需全部为数字组成。
所以下文采用正则表达式验证输入的字符全部为数字的方式,对字符进行验证。

 //验证字符是否为正整数
CREATE FUNCTION [dbo].[fn_checkInt] (
   @val NVARCHAR(4000)
) RETURNS BIT
AS
BEGIN
   DECLARE   @r  BIT = 1
   if @val is null begin set @val ='' end 

   IF @val LIKE '%[^0-9]%' OR @val = N''
      SET @r = 0
   ELSE
      SET @r = 1

   RETURN @rtv
END
---例:
    select [dbo].[fn_checkInt]('sql'),[dbo].[fn_checkInt]('98'),[dbo].[fn_checkInt](-98)