有人可以帮我解决SQL查询吗?我有一个包含日期的列,以及一个包含多年的列。我希望能够根据年份列中的选择来提取日期列。例如,如果日期是08/2/2006那么,当用户从丢弃该记录中选择2006年时,将从2006年开始记录2006年的所有记录?如果用户选择2011,则仅提取2011年的记录。这是我的陈述,但它没有记录任何记录。
SELECT [O_Adj_Key]
,[O_Adj_AMOUNT]
,[O_Adj_APPRV_D]
,[O_Adj_COMMENT]
,[O_Adj_Initials]
,[F_Year]
FROM [NAOLI].[dbo].[O_AdjustBudgetTbl], [NAOLI].[dbo].[codeFiscalYearTbl]
where f_year = o_adj_apprv_d
答案 0 :(得分:2)
您可以使用YEAR(datetimefield)函数进行比较。 例如:
SELECT YEAR(GETDATE())
where YEAR(GETDATE()) = YEAR(GETDATE())
答案 1 :(得分:0)
在MS SQL Server中,您可以使用DATEPART
函数获得(并且能够执行此操作)。