Получить строковое представление дня sql DateTime - PullRequest
2 голосов
/ 30 мая 2009

Допустим, у меня есть sql datetime «1 мая 2009» или «12 мая 2009». Существует ли какая-либо встроенная функция / операция sql, которую я могу выполнить в указанные выше даты, чтобы вернуть строковое представление ДНЯ даты?

Так что за «1 мая 2009 года» я получу «пятницу» в качестве ответа (случай не важен). За «12 мая 2009 года» я получу «вторник».

Ответы [ 5 ]

6 голосов
/ 30 мая 2009

DATENAME

SELECT DATENAME(weekday, '1 May 2009')

Редактировать: для MS SQL Server

3 голосов
/ 30 мая 2009
DATE_FORMAT(somedatetimevariable, '%W');

Ссылка: http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format

Редактировать (gbn): для MySQL

1 голос
/ 30 мая 2009

Для 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 голосов
/ 18 декабря 2015

Для MySQL: DAYNAME

DAYNAME('2015-12-01')
0 голосов
/ 30 мая 2009

Если вы смотрите, как создавать различные представления, вы можете сделать не лучше, чем эта ссылка здесь SQL Server Helper . Это покажет вам, как конвертировать даты в большее количество форматов, чем вы знаете, что делать. Я постоянно добавляю это в закладки для удобства.

...