[英]SQL Current month/ year question
所以我有一个分解月份和年份的表,例如名为 Month 的字段中有数字 7(本月),而 Year 字段中有 2011 年。还有额外的月份年份等。我该如何查询这个只显示当前年份、月份?
在 SQL 服务器中,您可以使用YEAR
、 MONTH
和DAY
而不是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 服务器:
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 * from your_table where MONTH(mont_year) = MONTH(NOW()) and YEAR(mont_year) = YEAR(NOW());
注意:(month_year) 表示您的列包含日期格式。 我认为这将解决您的问题。 如果该查询不起作用,请告诉我。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.