MS SQL使用正则来判断一个值是否为正整数

时间:2018-11-19
本文章向大家介绍MS SQL自定义函数判断是否正整数,需要的朋友可以参考一下

可以写一个函数: 主要是使用正则来判断。另外输入字符是空的话,使用"-"来替换。

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

实例说明: