Sql Server 判断字符串是否可以转数字

主要是在sql server的内置系统函数ISNUMERIC的基础上,将例外的“+”、“-”、“$”等也进行判断。

CREATE FUNCTION [dbo].[fn_IsNumberic]
(
@str nvarchar(max)
)
RETURNS int
AS
BEGIN
declare @res int
set @res=case when ISNUMERIC(isnull(@str,0))=1 then
case when PATINDEX('%[^0-9.]%',rtrim(ltrim(isnull(@str,0))))=0 then 1
end
end
return isnull(@res,0)
END

GO

posted @ 2017-11-13 17:38  Jearay  阅读(8190)  评论(0编辑  收藏  举报