ITPub博客

首页 > IT职业 > IT生活 > MS SQL判断是否为Integer

MS SQL判断是否为Integer

IT生活 作者:ahcow 时间:2021-09-09 09:45:03 0 删除 编辑

在MS SQL中处理用户输入的数值是否为Integer,为了简化程序代码,可以使用下面函数。

5acf073a0001405b00110016.jpgIsIntegerCREATE FUNCTION [dbo].[IsInteger] 
(
  @Value NVARCHAR(4000)
) RETURNS NVARCHAR(4000)
AS
BEGIN
   DECLARE @ResultValue BIT = 1
   --如果IS NULL把值设为N''
   SET @Value = ISNULL(LTRIM(@Value), N'')
   --处理前导N'-'字符串,如果有,把它移除,这样才好做以下的判断。
   SET @Value = CASE WHEN SUBSTRING(@Value, 1, 1) = N'-' THEN SUBSTRING(@Value, 2, LEN(@Value) - 1) ELSE @Value END

    --如不是数据或为N''返加Faluse
   IF @Value LIKE '%[^0-9]%' OR @Value = N''
      SET @ResultValue = 0
   
   RETURN @ResultValue
END

 

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3663/viewspace-2811793/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 排序原理
请登录后发表评论 登录
全部评论

注册时间:2019-08-30

  • 博文量
    90
  • 访问量
    948