MySQL - объединение трех столбцов в один с определенным форматированием - PullRequest
0 голосов
/ 17 марта 2012

В моей таблице MySQL DB у меня есть столбец StartDate (типа varchar) плюс три отдельных целочисленных столбца; День, месяц, год.

Я хочу объединить значения «День», «Месяц» и «Год» и вставить полученное значение в поле StartDate в формате дд / мм / гг (например, 03/07/84).

Это не будет слишком сложно, но большинство значений «День» и «Месяц» имеют длину только одну цифру, поэтому к ним необходимо добавить префикс 0 (например, 1 становится 01, 9 становится 09, 11 остается неизменным), чтобы чтобы выполнить необходимое форматирование StartDate.

Другая проблема - поле Года. В настоящее время этот год содержит 4 цифры, поэтому первые 2 цифры необходимо удалить для соответствия форматированию StartDate (например, 1984 становится 84, 2001 становится 01).

Может ли кто-нибудь помочь разработать процедуру, которую мне нужно пройти, чтобы добиться этого. Я предполагаю, что мне нужно сначала поработать со столбцами «День», «Месяц» и «Год», чтобы получить их в правильном формате, а затем скопировать их и добавить символы «/» в столбец StartDate.

Заранее большое спасибо за помощь и помощь.

1 Ответ

0 голосов
/ 17 марта 2012

Попробуйте этот запрос:

UPDATE `my_super_datestable` SET startdate = 
    date_format(str_to_date(concat_ws(
                          '/', `day`, `month`, `year`), '%e/%c/%Y'), '%d/%m/%y');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...