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