#mysql #types
#mysql #типы
Вопрос:
Просто интересно, есть ли способ запросить поле из таблицы MySQL как другой тип данных.
Допустим, я сохранил поле с именем duration
типа int(), которое я хочу запросить с помощью инструкции SELECT(duration), но я хочу, чтобы результат был отформатирован как тип данных time().
Возможно ли это?
С уважением.
Комментарии:
1. Я так не думаю. Вы можете легко сделать это с помощью любого языка программирования, который вы используете. В большинстве языков есть объект time, который преобразует целое число в объект time.
2. у вас есть функции Cast() или Convert(), но они используются только для совместимых конвертируемых типов. Не уверен насчет значения времени.
3. @tjameson Я фактически пытался избежать этого в своем скрипте XD @Sachin Shanbhag собираюсь проверить cast() или convert()
Ответ №1:
Если у вас есть значение INT, которое представляет собой временную метку UNIX, вы можете использовать функцию FROM_UNIXTIME для преобразования его в строку даты. Затем результирующая строка может быть преобразована в значение DATETIME с помощью функции TIMESTAMP.
Например, вы можете написать:
SELECT TIMESTAMP(FROM_UNIXTIME(1302202070));
Или:
SELECT TIMESTAMP(FROM_UNIXTIME(some_column)) FROM some_table;
Комментарии:
1. Звучит как лучший вариант… Я предпочитаю делать это сам, потому что тогда я могу указать формат вывода…
2. Я нашел функцию MySQL TIME_TO SEC. ВЫБЕРИТЕ TIME_TO_SEC (длительность); кажется, что выполняет задание, оно выводится в формате HHH: MM: SS.