2013-03-06 3 views
0

я в настоящее время есть таблица в моей базе данных, которая перечисляет диапазон дат, не собирается с мая по октябрь, в следующем формате: YYYY-MM-DDPopulate SQL колонка с днями недели в пределах диапазона дат

Что я хотел бы для этого нужно создать новый столбец со днями недели, соответствующий дате. Я подумал о двух вариантах;

  1. Обновить все строки, в колонке «день», начиная с понедельника, то следующий вторник, следующую среду, и т.д., и т.д., и при достижении воскресенье, петля последовательность до конца таблицы.

  2. Прочитайте дату в колонке «дата» и обновите столбец «день» соответствующим днем ​​недели.

Я думаю, что вариант 1 является самым простым и очень хорошим, потому что нет пропущенных дат. Но я не знаю, как это сделать, и не нашел ничего подобного в Интернете.

Любая помощь была бы принята с благодарностью! Спасибо

+0

@echo_me Thnx для редактирования! –

ответ

2

Как правило, я бы сказал: не делайте этого. День недели выводится непосредственно с даты; хранение его отдельно в базе данных прерывает одно из основных правил нормализации (без производных данных).

Есть функции MySQL, чтобы найти день недели - dayofweek() и weekday().

0

Попробуйте это:

update table 
set day = DATENAME(dw, date) 
Смежные вопросы