【发布时间】:2011-09-01 14:52:30
【问题描述】:
我正在开发一个功能,该功能将被不少于 10 个 SProc 使用,并且在解决后可能会增长。
我遇到的问题是我不想为每个数据类型开发一个函数,这就是为什么SQL_VARIANT 数据类型看起来很方便的原因。我知道可以对数据类型进行ISNULL 检查,但我也想检查传递的值是否为有效数字,但ISNUMERIC 函数不适用于SQL_VARIANT,我也不是确定SQL_VARIANT_PROPERTY 函数。
到目前为止的代码:
CREATE FUNCTION dbo.mpt_Format_Number
(
@value SQL_VARIANT
, @money BIT
)
RETURNS VARCHAR
AS
BEGIN
--Check for NULL value
IF ISNULL(@value) BEGIN
-- Value IS NULL, return NULL
RETURN NULL
END ELSE BEGIN
-- Value is NOT NULL
DECLARE @TMP VARCHAR
END
END
【问题讨论】:
-
为了更容易阅读,我翻转了 ISNULL 检查,以免混淆任何人 ;)
标签: sql-server-2005 tsql sql-variant