SQL конвертация mm/dd/yyyy hh:mm:ss в timestamp

Как сконвертировать дату формата -- 24/12/2021 09:06:16 в timestamp (или другой формат который позволит сделать сортировку) ? Так как сортировка или функции min max c данным форматом в SQLite и MySQL не работают


Ответы (1 шт):

Автор решения: Виталий Злобин

MySQL не знаю, но на MS SQL это можно было бы сделать так:

DECLARE @DT char(19) = '24/12/2021 09:06:16'

SELECT CAST(CONCAT(SUBSTRING(@DT, 7, 4), '-', SUBSTRING(@DT, 4, 2), '-', SUBSTRING(@DT, 1, 2), ' ', SUBSTRING(@DT, 12, 8)) AS datetime)

Суть: вытащить из строки все части даты и собрать их в валидную строку, после чего привести к нужному типу данных функцией CAST. Подставь вместо @DT сdой столбец и замени функции CONCAT и SUBSTRING на аналоги в MySQL.

→ Ссылка