2016-04-17 8 views
2

私は、ユーザーが開始日と終了日をパラメータとして入力すると、ゲーム情報を印刷する関数を作成しようとしています。ゲームの日付が開始日と終了日の間であれば、ゲーム情報が表示されます。テーブル値関数を使うことにしました。SQL Serverで関数を作成しますか?

これまでのところ私が持っている:

CREATE FUNCTION fn_gamedate 
    (@InputStartDate DATETIME, 
    @InputEndDate DATETIME) 
RETURNS TABLE 
AS 
    RETURN 
     (SELECT * 
     FROM Game 
     WHERE Game.[Date] Between @StartDate AND @EndDate) 

私はこれが

で実行しようとすると、私が手にエラーがスカラー変数を宣言しなければなりません「@StartDate」。

は、私はそれを宣言する声明の中で@startdate@enddateなどと宣言するだろうかに関しては困惑しています。ありがとう!

答えて

8

@InputStartDateですが、コードでは@StartDateを使用してください。あなたはパラメータ@InputStartDateに名前を付けるならば、あなたはがあなたのT-SQL文でに同じ名前を使用する必要があります

CREATE FUNCTION fn_gamedate 
    (@InputStartDate DATETIME, <--------+ 
    @InputEndDate DATETIME)    | these two need to MATCH! 
RETURNS TABLE        | 
AS          | 
    RETURN        | 
     (SELECT *       | 
     FROM Game      | 
     WHERE Game.[Date] Between @InputStartDate AND @InputEndDate) 

はこれを試してみてください!

+2

素敵な映像! :D –

関連する問題