Что эквивалентно Oracle to_char в AS400 DB2 SQL синтаксис? - PullRequest
1 голос
/ 14 июля 2009

Я пытаюсь отобразить поле DATE, выбранное из экземпляра DB2.

В Oracle я бы использовал что-то вроде:

to_char(v_date, 'YYYY-MM-DD')

Что эквивалентно в AS400 DB2 ?

Ответы [ 3 ]

3 голосов
/ 15 июля 2009

В V5R3 или новее используйте функцию CHAR (). Чтобы получить те же результаты, что и в примере с Oracle, используйте это:

char(v_date, ISO)

При использовании функции CHAR () с полями даты вы можете выбрать один из следующих форматов: ISO, США, EUR, JIS и местный. При использовании «local» в качестве формата он будет использовать атрибуты задания подключения ODBC, которые, вероятно, будут значениями системного уровня формата даты и разделителя даты. Другие форматы даты таковы:

ISO = 'yyyy-mm-dd'
USA = 'mm/dd/yyyy'
EUR = 'dd.mm.yyyy'
JIS = 'yyyy-mm-dd'

В V5R4 вы можете использовать функцию varchar_format. Единственными допустимыми форматами для этой функции являются «ГГГГ-ММ-ДД ЧЧ24: MI: SS» и «ГГГГ-ММ-ДД».

В V6R1 у вас есть лучшие параметры форматирования для функции varchar_format. Как уже упоминалось в другом ответе, to_char является альтернативой varchar_format.

1 голос
/ 16 июля 2009

Оказывается, что эквивалент DB2 для "to_char" равен ... "to_char".

:)

http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0007108.htm

Основной функцией является varchar_format, для которой to_char является синонимом.

1 голос
/ 14 июля 2009
...