В таблице 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> '';
Я хотел бы поблагодарить Майкла К из этой группы за помощь в том, чтобы получить меня, где я нахожусь в этом проекте.
Вы можете попробовать использовать 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'
в приведенном выше примере.