获取sql DateTime日的字符串表示形式

时间:2009-05-30 09:38:11

标签: sql datetime dayofweek weekday

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

因此,对于'2009年5月1日',我将以“星期五”作为答案(案例并不重要)。 对于'2009年5月12日',我将得到“星期二”。

5 个答案:

答案 0 :(得分:6)

DATENAME

SELECT DATENAME(weekday, '1 May 2009')

编辑:对于MS SQL Server

答案 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')