【问题标题】:SQL Current month/ year questionSQL 当前月/年问题
【发布时间】:2011-07-13 20:36:05
【问题描述】:

所以我有一个分解月份和年份的表格,例如名为 Month 的字段中有数字 7(本月),Year 字段有 2011。还有额外的月份年份等。我怎么能查询这个以显示当前的年份、月份?

【问题讨论】:

  • 这是什么类型的数据库?
  • @Abe Miessler:我将其标记为 SQL Server,因为 OP 之前的所有问题要么使用 SQL Server 语法,要么接受了这样的答案。并且 OP 声明以 cmets 为目标 2005+:stackoverflow.com/questions/5478386/…

标签: sql sql-server tsql


【解决方案1】:

在 SQL Server 中,您可以使用 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())

【讨论】:

    【解决方案2】:

    这应该适用于 SQL Server:

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

    【讨论】:

      【解决方案3】:

      这应该在 MySql 中工作

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

      【讨论】:

      • 你应该提到这是用于哪个数据库
      • 你的版本和我的一样吗?为什么我需要提到一个分贝? :s
      • 这是否适用于 Oracle、DB2、MySQL、PostgreSQL、SQLite、Paradox、MS-SQL Server?有这些吗?所有这些?都不是?其中一些?
      • 对不起,现在我明白了,你的意思是 SQL 实现是为了什么。应该适用于 MySql 5.1 :-)
      【解决方案4】:

      怎么样:

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

      应该在 Oracle 中工作。你用的是什么数据库?我问是因为并非所有数据库都具有相同的日期函数。

      【讨论】:

        【解决方案5】:
        DECLARE @CMonth int=null
        DECLARE @lCYear int=null
        
        SET @lCYear=(SELECT  DATEPART(YEAR,GETDATE()))
        SET @CMonth=(SELECT  DATEPART(MONTH,GETDATE()))
        

        【讨论】:

          【解决方案6】:

          选择 * 从你的表 其中 MONTH(mont_year) = MONTH(NOW()) 和 YEAR(mont_year) = YEAR(NOW());

          注意:(month_year) 表示您的列包含日期格式。我认为这将解决您的问题。如果该查询不起作用,请告诉我。

          【讨论】:

          • 您对 3 多年前接受的答案没有添加任何内容,实际上您的答案并未解决 OP 中的架构。
          猜你喜欢
          • 1970-01-01
          • 2015-09-28
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-02-04
          • 1970-01-01
          • 2020-11-11
          • 1970-01-01
          相关资源
          最近更新 更多