Преобразование «Значений» из длинного текстового столбца в формат даты

0

В таблице MySQL есть столбец longtext, в котором содержится несколько различных записей разных форматов. Я хотел бы преобразовать определенный тип записей в стандартный формат даты m m- dd-yy.

Вот запрос, который я использую, чтобы развернуть таблицу и вытащить только те значения, которые мне нужны. Значения даты AS - это те, которые я пытаюсь преобразовать в дату. Я довольно уверен, что мне просто нужно использовать date_format (% m-% d-% y), но я не уверен, как и куда его вводить.

SELECT * FROM (SELECT entry_id,

GROUP_CONCAT (IF (field_id = 'fld_5076430', value, '') SEPARATOR '') Пользователь AS,

GROUP_CONCAT (IF (field_id = 'fld_8768091', value, '') SEPARATOR '') AS сначала,

GROUP_CONCAT (IF (field_id = 'fld_9970286', value, '') SEPARATOR '') AS last,

GROUP_CONCAT (IF (field_id = 'fld_6009157', value, '') SEPARATOR '') AS date,

GROUP_CONCAT (IF (field_id = 'fld_5105414', value, '') SEPARATOR '') AS событие,

GROUP_CONCAT (IF (field_id = 'fld_7723931', value, '') SEPARATOR '') Единица AS,

GROUP_CONCAT (IF (field_id = 'fld_1521970', value, '') SEPARATOR '') AS работает,

GROUP_CONCAT (IF (field_id = 'fld_4590434', value, '') SEPARATOR '') AS hours

FROM kcdte_cf_form_entry_values

GROUP BY entry_id) AS rows WHERE hours> '' AND last> '';

Я хотел бы поблагодарить Майкла К из этой группы за помощь в том, чтобы получить меня, где я нахожусь в этом проекте.

Теги:

1 ответ

0
Лучший ответ

Вы можете попробовать использовать MySQL-функцию STR_TO_DATE() для преобразования формата строк в формат даты:

STR_TO_DATE(GROUP_CONCAT(IF(field_id='fld_6009157', value,'') SEPARATOR ''), '%m-%d-%Y') AS date,

Если вы планируете хранить даты в базе данных MySQL с date типа данных, вы должны использовать формат YYYY-mm-dd достигнутый с помощью '%Y-%m-%d' вместо '%m-%d-%Y' в приведенном выше примере.

  • 0
    Спасибо, сэр, ваше предложение сработало отлично.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню