Is String a Number SQL Function
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
ALTER FUNCTION dbo.isReallyNumeric
(
@num VARCHAR(64)
)
RETURNS BIT
BEGIN
IF LEFT (@num, 1) = '-'
SET @num = SUBSTRING (@num, 2, LEN(@num))
DECLARE @pos TINYINT
SET @pos = 1 + LEN(@num) - CHARINDEX( '.' , REVERSE(@num))
RETURN CASE
WHEN PATINDEX( '%[^0-9.-]%' , @num) = 0
AND @num NOT IN ( '.' , '-' , '+' , '^' )
AND LEN(@num) > 0
AND @num NOT LIKE '%-%'
AND
(
((@pos = LEN(@num) + 1)
OR @pos = CHARINDEX( '.' , @num))
)
THEN
1
ELSE
0
END
END
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO