web-dev-qa-db-ja.com

return_data_typeを指定せずにSQLサーバーで関数を作成します

Return_data_typeを指定せずに、SQLサーバーでスカラー値関数を作成しようとしています

関数の呼び出し元から送信されたパラメーターに基づいて、任意のデータ型を返すことができるようにしたい

例えば.

CREATE FUNCTION GenerateRandomData 
(
    @Datatype varchar(20)
)
RETURNS <Return any datatype specified by @Datatype parameter>
AS
BEGIN
    -- Declare the return variable here
    IF @Datatype in ('varchar','char','nchar','nvarchar','text','ntext')
        Begin
            RETURN 'String'
        end
    Else
    IF @Datatype in ('int','bigint','smallint')
        Begin
            RETURN 100
        end
    Else
    IF @Datatype in ('datetime','smalldatetime')
    Begin
        RETURN getdate()
    end     

END
2
AmmarR

できません。

戻りデータ型は関数で指定する必要があります。 文法 のオプション部分ではありません。戻ることができます sql_variant しかし。

3
Martin Smith