簡體   English   中英

SQL 當前月份/年份問題

[英]SQL Current month/ year question

所以我有一個分解月份和年份的表,例如名為 Month 的字段中有數字 7(本月),而 Year 字段中有 2011 年。還有額外的月份年份等。我該如何查詢這個只顯示當前年份、月份?

在 SQL 服務器中,您可以使用YEARMONTHDAY而不是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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM