2009-05-30 26 views
2

比方说,我有一个sql datetime'2009年5月1日'或'2009年5月12日'。 是否有任何内置的sql函数/操作我可以在上述日期执行以返回日期的DAY的字符串表示形式?获取sql DateTime的字符串表示日

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

+1

2回答,间隔2秒,2个平台... MySQL或MS SQL? – gbn 2009-05-30 09:43:13

回答

6

DATENAME

SELECT DATENAME(weekday, '1 May 2009') 

编辑:对于MS SQL服务器

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) 
0

如果您正在研究如何进行不同的表示,您可以在SQL Server Helper以下链接。这将向您展示如何将日期转换为比您知道该怎么处理更多格式。我有这个不断书签的容易参考。

+0

但它没有这个解决方案,但... – gbn 2009-05-30 10:34:09