Я работаю над функцией, которая будет использоваться не менее чем 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