Как конвертировать timestamp в формат YYYY-MM
Вообще-то Timestamp это long или числовое поле. А то что вы написали это его отображение или формат вывода. Если хотите хранить часть формата в числовом варианте то можете использовать Int месяц и год в полное уместится или же храните строку тогда у вас могут возникнуть проблемы с агрегирование и сравнением все зависит от вашего дальнейшего использования.
Отслеживать
ответ дан 30 июл 2020 в 20:45
Aziz Umarov Aziz Umarov
22.5k 2 2 золотых знака 10 10 серебряных знаков 33 33 бронзовых знака
- sql
- postgresql
-
Важное на Мете
Похожие
Подписаться на ленту
Лента вопроса
Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.
Дизайн сайта / логотип © 2023 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2023.11.15.1019
Нажимая «Принять все файлы cookie» вы соглашаетесь, что Stack Exchange может хранить файлы cookie на вашем устройстве и раскрывать информацию в соответствии с нашей Политикой в отношении файлов cookie.
Как timestamp перевести в дату sql
Чтобы перевести timestamp в дату в SQL, вы можете использовать функцию DATEFROMPARTS() . Функция DATEFROMPARTS() создает дату из трех параметров: года, месяца и дня. Для получения этих параметров из timestamp можно использовать функции YEAR() , MONTH() и DAY() , соответственно.
Например, предположим, что у вас есть столбец timestamp_column типа timestamp, и вы хотите преобразовать его в дату. Используйте следующий запрос:
SELECT DATEFROMPARTS(YEAR(timestamp_column), MONTH(timestamp_column), DAY(timestamp_column)) AS date_column FROM my_table;
Здесь timestamp_column — это название столбца, который содержит timestamp, который вы хотите преобразовать в дату, а date_column — это название столбца, в который будет помещен результат преобразования.
Обратите внимание, что timestamp в SQL представляет собой количество секунд, прошедших с начала эпохи (обычно 1 января 1970 года). При преобразовании timestamp в дату необходимо учитывать эту особенность.
Как преобразовать дату в timestamp?
В таблице строковое поле со значениями вида: September 11, 2019, 5:02:44 PM
Как просто и красиво преобразовать это в timestamp?
В чем ошибка (September -> Сентябрь)
SELECT TO_DATE('September 11, 2019, 5:02:44 PM', 'MONTH DD, YYYY, HH:MI:SS AM') FROM dual;
- Вопрос задан более трёх лет назад
- 964 просмотра
Комментировать
Решения вопроса 1
У тебя язык даты по умолчанию NLS_DATE_LANGUAGE не соответствует указанному в запросе, поэтому возникает ошибка. Язык можно явно указывать в запросе, например:
SELECT TO_DATE('September 11, 2019, 5:02:44 PM', 'MONTH DD, YYYY, HH:MI:SS AM', 'NLS_DATE_LANGUAGE=AMERICAN') FROM DUAL;
или изменить на уровне сессии:
alter session set NLS_LANGUAGE=AMERICAN
Посмотреть значение параметра языка можно следующим запросом
select * from nls_session_parameters where parameter = 'NLS_DATE_LANGUAGE';
Преобразовать в timestamp можно вот так:
SELECT cast (TO_DATE('September 11, 2019, 5:02:44 PM', 'MONTH DD, YYYY, HH:MI:SS AM','NLS_DATE_LANGUAGE=AMERICAN') AS TIMESTAMP) FROM DUAL;
Как перевести timestamp в date sql
Информация о материале Автор: Сергей Жилин Категория: Вопросы и ответы Oracle Опубликовано: 26 октября 2010 Просмотров: 13114
SQL> SELECT SYSTIMESTAMP "TIMESTAMP", CAST(SYSTIMESTAMP AS DATE) "DATE" 2 FROM dual; TIMESTAMP DATE --------------------------------------------------------------------------- --------- 26-OCT-10 03.57.07.220160 PM +04:00 26-OCT-10
Похожие материалы
Самое популярное
- Как посмотреть размер таблицы?
- Как посмотреть план запроса?
- Как посмотреть, когда у пользователя последний раз менялся пароль?
- Как вычислить разницу между двумя датами в соседних строках одного столбца?
- Как узнать, какие опции Oracle используются базой данных?
Комментарии
#1 Вагап 19.05.2015 10:19
SYSTIMESTAMP::d ate
You have no rights to post comments
