SQL当前月/年问题

Gab*_*lVa 25 sql t-sql sql-server

所以我有一个表已经分解了月份和年份,例如,名为Month的字段中有7个(本月),而Year字段有2011年.还有额外的月份等等.我如何查询到只显示当前年份,月份?

Chr*_*cht 43

在SQL Server中,您可以使用YEAR,MONTHDAY 不是DATEPART.
(至少在SQL Server 2005/2008中,我不确定SQL Server 2000及更早版本)

我更喜欢使用这些"简短形式",因为对我来说,YEAR(getdate())输入更短,阅读更好DATEPART(yyyy, getdate()).

所以你也可以这样查询你的表:

select *
from your_table
where month_column = MONTH(getdate())
and year_column = YEAR(getdate())
Run Code Online (Sandbox Code Playgroud)


Abe*_*ler 10

这适用于SQL Server:

SELECT * FROM myTable
WHERE month = DATEPART(m, GETDATE()) AND
year = DATEPART(yyyy, GETDATE())
Run Code Online (Sandbox Code Playgroud)


Ala*_*ole 6

这应该在MySql中工作

SELECT * FROM 'my_table' WHERE 'month' = MONTH(CURRENT_TIMESTAMP) AND 'year' = YEAR(CURRENT_TIMESTAMP);
Run Code Online (Sandbox Code Playgroud)

  • 你应该提一下这是哪个数据库 (4认同)
  • 这适用于Oracle,DB2,MySQL,PostgreSQL,SQLite,Paradox,MS-SQL Server吗?这些都是?所有这些?都不是?其中一些? (2认同)