【问题标题】:Is there a way to search a SQL Query with Month Numbers, and not Month Name?有没有办法用月份数字而不是月份名称来搜索 SQL 查询?
【发布时间】:2008-12-17 16:13:39
【问题描述】:

我正在尝试在 sql 查询中使用月份的实际数值来提取结果。有没有办法做到这一点,而无需将数字更改为实际月份名称,然后返回月份数字?以下代码适用于名称,什么适用于数字?

日期名称(月份,(转换(日期时间,DTSTAMP)))= '十月'

【问题讨论】:

    标签: sql mysql sql-server


    【解决方案1】:

    month,(convert(datetime,DTSTAMP)) 应该这样做,但是为什么你没有正确地将数据存储为日期时间呢?使用日期的所有额外转换都会给您的服务器增加不必要的负载并减慢您的应用程序的速度。

    【讨论】:

      【解决方案2】:

      Datepart 是月份命令的替代品,它更灵活,因为您可以提取日期的其他部分。

      DATEPART(mm, convert(datetime,DTSTAMP))
      

      【讨论】:

        【解决方案3】:

        获取日期的月份数

        CONVERT(VARCHAR(2) ,DTSTAMP ,110)

        【讨论】:

          【解决方案4】:

          在这里,您可以使用 diff 选项进行搜索,例如:

          DATE_SUB(CURDATE(), INTERVAL 0 DAY)

          DATE_SUB(CURDATE(),间隔 1 个月)

          DATE_SUB(CURDATE(),间隔 1 年)

          根据您的要求。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-03-13
            • 2020-04-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多