【问题标题】:Get string representation of a sql DateTime day获取 sql DateTime 日期的字符串表示形式
【发布时间】:2010-10-30 02:09:12
【问题描述】:

假设我的 sql 日期时间为“2009 年 5 月 1 日”或“2009 年 5 月 12 日”。 我可以在上面的日期上执行任何内置的 sql 函数/操作以返回日期的 DAY 的字符串表示形式吗?

所以对于“2009 年 5 月 1 日”,我会得到“星期五”作为答案(大小写不重要)。 对于“2009 年 5 月 12 日”,我将得到“星期二”。

【问题讨论】:

  • 2 个答案,相隔 2 秒,2 个平台... MySQL 还是 MS SQL?

标签: sql datetime dayofweek weekday


【解决方案1】:

DATENAME

SELECT DATENAME(weekday, '1 May 2009')

编辑:对于 MS SQL Server

【讨论】:

    【解决方案2】:
    DATE_FORMAT(somedatetimevariable, '%W');
    

    参考:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

    编辑 (gbn):对于 MySQL

    【讨论】:

      【解决方案3】:

      对于 MySQL,如果该列实际上是一个字符串,则必须先将其转换为 DATE:

      mysql> SELECT DATE_FORMAT(STR_TO_DATE('1 May 2009', '%e %M %Y'), '%W');
      +----------------------------------------------------------+
      | DATE_FORMAT(STR_TO_DATE('1 May 2009', '%e %M %Y'), '%W') |
      +----------------------------------------------------------+
      | Friday                                                   |
      +----------------------------------------------------------+
      1 row in set (0.00 sec)
      

      【讨论】:

        【解决方案4】:

        如果您正在研究如何进行不同的表示,您可以比SQL Server Helper 的此链接做得更好。这将向您展示如何将日期转换为比您不知道的更多格式。我一直把它加为书签以便于参考。

        【讨论】:

          【解决方案5】:

          对于 MySQL:DAYNAME

          DAYNAME('2015-12-01')
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-09-28
            • 1970-01-01
            • 2011-08-27
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多