SQL:使用可变年份,固定月份和日期构建日期

时间:2017-02-23 08:22:48

标签: sql sql-server sql-server-2008

我想添加参数只选择年份我的参数= @ P1 但月和日是固定的 我的约会'2005-01-01 00:00:00.000' and '2005-12-31 00:00:00.000'

    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

1 个答案:

答案 0 :(得分:1)

DATE值中提取年份,然后使用字符串连接来创建新日期。

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

如果他们全部为零,你就不需要包括时间。

如果您希望将它们设为真实datedatetime类型,请使用CASTCONVERT

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