Поле запроса MySQL как другой тип данных

#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.