2017-02-23 5 views
0

を構築するだけで年間マイパラメータ= @ P1 が、月と日が私の日付 固定されている'2005-01-01 00:00:00.000' and '2005-12-31 00:00:00.000'SQL:私が選択するようにパラメータを追加する変数年と日付、固定月と日

Declare @Date datetime 
    set @Date= @P1 
    --i want to show like this: 
    select '@P1-01-01 00:00:00.000'as[ start year] ,'@P1-12-31 00:00:00.000'as 
    [End_Year] from TB1 
+0

を使用しますが、 'date'sまたは' datetime'sで作業していますか?データに時間要素がある場合は、包括的な開始点と*排他的な終了点を使用することがほとんど常に良いです。例えば。 「2005-01-01 00:00:00.000」 - 「2005-12-31 00:00:00.000」の範囲は、「2005-12-31 14:51:32.317」の値を除外する。それはあなたの意図ですか? –

答えて

0

年エキスDATEの値から、文字列連結を使用して新しい日付を作成します。

DECLARE @year CHAR(4) = DATEPART(YEAR, @date) 
SELECT @year + '-01-01' AS [start year], @year + '-12-31' AS [end year] 

時間がすべてゼロの場合は、時間を含める必要はありません。

あなたは本当のdateまたはdatetime種類としてそれらをしたい場合は、CASTまたはCONVERT

SELECT CONVERT(DATE, @year + '-01-01') AS [start year], 
     CONVERT(DATE, @year + '-12-31') AS [end year] 
+0

ありがとうございます – ALDHEEB

関連する問題