sql server语言 - sql当前月/年问题



所以我有一个分解了月份和年份的表,例如,名为month的字段中有数字7(这个月),而year字段中有2011。还有额外的月份、年份等。我如何查询它来显示当前的年、月?

在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())

SQL Server:

SELECT * FROM myTable
WHERE month = DATEPART(m, GETDATE()) AND
year = DATEPART(yyyy, GETDATE())

这应该在MySql中工作

SELECT * FROM 'my_table' WHERE 'month' = MONTH(CURRENT_TIMESTAMP) AND 'year' = YEAR(CURRENT_TIMESTAMP);

如何:

Select *
from some_table st
where st.month = to_char(sysdate,'MM') and
    st.year = to_char(sysdate,'YYYY');

应该在Oracle中工作。您使用的是什么数据库?我这样问是因为不是所有的数据库都有相同的日期函数。

DECLARE @CMonth int=null
DECLARE @lCYear int=null
SET @lCYear=(SELECT  DATEPART(YEAR,GETDATE()))
SET @CMonth=(SELECT  DATEPART(MONTH,GETDATE()))

select *从your_tablewhere MONTH(mont_year) = MONTH(NOW())and YEAR(t_year) = YEAR(NOW());

注意:(month_year)表示包含日期格式的列。我想这会解决你的问题。

最新更新