SQL Server中仅在年份上的DateTime查询

use*_*474 8 sql sql-server datetime sql-server-2008

我想在表选项卡,其中列匹配一年的基础上,选择多条记录,例如[id] int,[name] varchar,[bookyear] datetime

我想选择年份为2009年的所有记录.

以下查询给出0结果:

    SELECT [ACCNO]
      ,[Roll No]
      ,[IssueDate]
      ,[DueDate]
  FROM [test1].[dbo].[IssueHis$] 
  where [IssueDate]  between 12-12-2004 and 1-01-2010
Run Code Online (Sandbox Code Playgroud)

dot*_*tep 27

select id,name,bookyear from tab1 where year(bookyear) = 2009
Run Code Online (Sandbox Code Playgroud)