MS SQL判断是否为Integer

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

IsInteger
CREATE 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(@Value11= N'-' THEN SUBSTRING(@Value2LEN(@Value- 1ELSE @Value END

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

   
RETURN @ResultValue
END

 

posted @ 2011-06-25 16:34  Insus.NET  阅读(708)  评论(0编辑  收藏  举报