假设我的 sql 日期时间为“2009 年 5 月 1 日”或“2009 年 5 月 12 日”。我可以在上面的日期上执行任何内置的 sql 函数/操作以返回日期的 DAY 的字符串表示形式吗?
所以对于“2009 年 5 月 1 日”,我会得到“星期五”作为答案(大小写不重要)。对于“2009 年 5 月 12 日”,我会得到“星期二”。
DATE_FORMAT(somedatetimevariable, '%W');
参考:http ://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format
编辑 (gbn):对于 MySQL
对于 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)
如果您正在研究如何进行不同的表示,那么您不能比SQL Server Helper的这个链接做得更好。这将向您展示如何将日期转换为您不知道如何处理的更多格式。我有这个经常书签,以方便参考。
对于 MySQL:DAYNAME
DAYNAME('2015-12-01')