2

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

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

4

5 回答 5

6

日期名称

SELECT DATENAME(weekday, '1 May 2009')

编辑:对于 MS SQL Server

于 2009-05-30T09:42:24.930 回答
3
DATE_FORMAT(somedatetimevariable, '%W');

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

编辑 (gbn):对于 MySQL

于 2009-05-30T09:42:22.510 回答
1

对于 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)
于 2009-05-30T09:56:48.300 回答
0

如果您正在研究如何进行不同的表示,那么您不能比SQL Server Helper的这个链接做得更好。这将向您展示如何将日期转换为您不知道如何处理的更多格式。我有这个经常书签,以方便参考。

于 2009-05-30T10:29:00.810 回答
0

对于 MySQL:DAYNAME

DAYNAME('2015-12-01')
于 2015-12-18T07:19:40.967 回答