2013-08-09 3 views
0

Прошу простить мое невежество, если я пропустил любую документацию/решение для этого же. Но я искал в Интернете и не мог найти ответа.Получить дату без отметки времени в DB2

У меня есть простой вопрос. В таблице DB2 у меня есть столбец типа date и с данными формата 04/25/2013 12:00:00 AM. Когда я запрашиваю базу данных DB2, я хочу получить только дату, а не метку времени, чтобы получить «04/25/2013», а не «25.04.2013 12:00:00 AM». Я попробовал DATE (имя столбца) и просто вернул полное значение, включая метку времени.

+0

Какую версию платформы DB2 (IBM i, LUW или z/OS) вы используете и какую версию? Какой тип сеанса у вас есть, что дает вам этот результат? – WarrenT

+0

Согласен, 'DATE()' должен был дать вам ожидаемые результаты. Кроме того, тип 'DATE' в DB2 не имеет в нем значения времени, что обычно означает, что это' TIMESTAMP'. (В качестве примечания, большинство РСУБД не сохраняют значения даты/времени в формате - они используют отдельное внутреннее представление, которое переводится во время отображения.) –

+0

, пожалуйста, предоставьте нам определение таблицы! Я не могу поверить, что ваша колонка имеет тип DATE. или ваш SELECT передает результат в метку времени! –

ответ

1

Это выглядит как TIMESTAMP, а не столбец DATE. Если это действительно столбец TIMESTAMP попробовать это:

select varchar_format(current timestamp, 'MM/DD/YYYY') from sysibm.sysdummy1 ; 

Просто замените текущую временную метку в приведенном выше примере с вашей колонки и sysibm.sysdummy1 с вашим столом.

Хорошая вещь о varchar_format заключается в том, что он позволяет вам легко форматировать временную метку. Просто измените часть «MM/DD/YYYY» на «YYYY.MM.DD», чтобы получить формат «2017.08.18».

Смежные вопросы