DB2 for z/OS - String representations of datetime values


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES, Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

DB2 for z/OS - String representations of datetime values - Representações de string de valores de data e hora

Dates, times, and timestamp values can be represented by strings.
For many host languages, there are no special SQL constants for datetime values and, except for Java™, no host variables with a data type of date, time, or timestamp.
Thus, to be retrieved, a datetime value must be assigned to a string variable.

Datas, horas e valores de data/hora (timestamp) podem ser representados por strings.
Para muitas linguagens de host, não há constantes SQL especiais para valores de data e hora e, exceto para Java ™, nenhuma variável de host com um tipo de dados de data, hora ou registro de data e hora.
Portanto, para ser recuperado, um valor de data e hora deve ser atribuído a uma variável de string.

Values whose data types are DATE, TIME, TIMESTAMP WITHOUT TIME ZONE, or TIMESTAMP WITH TIME ZONE are represented in a form that is transparent to the user of SQL.
Dates, times, and timestamps (with or without time zones) can also be represented by strings.
These representations directly concern the SQL user because, for many host languages there are no special SQL constants or host variables with a data type for DATE, TIME, TIMESTAMP WITHOUT TIME ZONE, or TIMESTAMP WITH TIME ZONE values (for variables with Java).
Thus, to be retrieved, a datetime value must be assigned to a string variable. The format of the resulting string depends on the default date format and the default time format that is in effect when the statement is prepared.

Valores cujos tipos de dados são DATE, TIME, TIMESTAMP WITHOUT TIME ZONE ou TIMESTAMP WITH TIME ZONE são representados de uma forma transparente para o usuário do SQL.
Datas, horários e carimbos de data / hora (com ou sem fusos horários) também podem ser representados por strings.
Essas representações dizem respeito diretamente ao usuário SQL porque, para muitas linguagens de host, não há constantes SQL especiais ou variáveis de host com um tipo de dados para os valores DATE, TIME, TIMESTAMP WITHOUT TIME ZONE ou TIMESTAMP WITH TIME ZONE (para variáveis ??com Java).
Portanto, para ser recuperado, um valor de data e hora deve ser atribuído a uma variável de string.
O formato da string resultante depende do formato de data padrão e do formato de hora padrão que está em vigor quando a instrução é preparada.

Each datetime value is assigned an encoding scheme.
This encoding scheme is used when the datetime value is converted from its internal form to the string representation in the form of the mixed CCSID if the field MIXED DATA is YES on installation panel DSNTIPF. Otherwise the SBCS CCSID of the assigned encoding scheme is used. For Unicode, the mixed CCSID is always used.
The following table shows how the encoding scheme is determined:

Cada valor datetime é atribuído a um esquema de codificação.
Este esquema de codificação é usado quando o valor de data e hora é convertido de sua forma interna para a representação de sequência na forma de CCSID misto se o campo DADOS MISTURADOS for SIM no painel de instalação DSNTIPF.
Caso contrário, o SBCS CCSID do esquema de codificação atribuído é usado.
Para Unicode, o CCSID misto é sempre usado. A tabela a seguir mostra como o esquema de codificação é determinado:

Table 1. The encoding scheme of datetime values

Tabela 1. O esquema de codificação de valores de data e hora

Datetime expression Result encoding scheme
Columns

Colunas
The same encoding scheme as the table that contains the column

O mesmo esquema de codificação da tabela que contém a coluna
Host variables

Variáveis de host
If the statement references:
  • A single encoding scheme - The same encoding scheme
  • Multiple encoding schemes - The application encoding scheme
Se a declaração fizer referência a:
  • Um único esquema de codificação - O mesmo esquema de codificação
  • Vários esquemas de codificação - o esquema de codificação do aplicativo
Special registers

Registros especiais
If the statement references:
  • A single encoding scheme - The same encoding scheme
  • Multiple encoding schemes - The application encoding scheme
Se a declaração fizer referência a:
  • Um único esquema de codificação - O mesmo esquema de codificação
  • Vários esquemas de codificação - o esquema de codificação do aplicativo
Expressions

Expressões
If the statement references:
  • A single encoding scheme - The same encoding scheme
  • Multiple encoding schemes - The application encoding scheme
Se a declaração fizer referência a:
  • Um único esquema de codificação - O mesmo esquema de codificação
  • Vários esquemas de codificação - o esquema de codificação do aplicativo

For ASCII and EBCDIC, a string representation of a datetime value must be a character string.
For Unicode, a string representation of a datetime value can be either a character string or a graphic string.
Thus, the only time a graphic string can be used for a datetime value is when the encoding scheme is Unicode.

Para ASCII e EBCDIC, uma representação de sequência de um valor de data e hora deve ser uma sequência de caracteres.
Para Unicode, uma representação de string de um valor de data e hora pode ser uma string de caracteres ou uma string gráfica.
Portanto, a única vez que uma string gráfica pode ser usada para um valor de data e hora é quando o esquema de codificação é Unicode.

In host languages other than Java, a datetime value must be assigned to a string variable.
When a date or time is assigned to a string variable, the string format is determined by a precompiler option or subsystem parameter.
When a string representation of a datetime value is used in other operations, it is converted to a datetime value.
However, this can be done only if the string representation is recognized by Db2 or an exit provided by the installation and the other operand is a compatible datetime value.
An input string representation of a date or time with LOCAL specified must have an actual length that is not greater than 255 bytes.

Em linguagens de host diferentes de Java, um valor de data e hora deve ser atribuído a uma variável de string.
Quando uma data ou hora é atribuída a uma variável de string, o formato da string é determinado por uma opção do pré-compilador ou parâmetro do subsistema.
Quando uma representação de string de um valor datetime é usada em outras operações, ela é convertida em um valor datetime.
No entanto, isso pode ser feito apenas se a representação da string for reconhecida pelo Db2 ou uma saída fornecida pela instalação e o outro operando for um valor de data e hora compatível.
Uma representação de string de entrada de uma data ou hora com LOCAL especificado deve ter um comprimento real que não seja maior que 255 bytes.

Datetime values that are represented by strings can appear in contexts that require values whose data types are DATE, TIME, TIMESTAMP WITHOUT TIME ZONE, or TIMESTAMP WITH TIME ZONE.
A string representation of a date, time or timestamp (with or without time zone) can be passed as an argument to the DATE, TIME, TIMESTAMP, or TIMESTAMP_TZ function to obtain a datetime value.
A CAST specification can also be used to turn a character representation of a date, time, or timestamp (with or without time zone) into a datetime value.

Os valores de data e hora que são representados por strings podem aparecer em contextos que requerem valores cujos tipos de dados são DATE, TIME, TIMESTAMP WITHOUT TIME ZONE ou TIMESTAMP WITH TIME ZONE.
Uma representação de string de uma data, hora ou carimbo de data / hora (com ou sem fuso horário) pode ser passada como um argumento para a função DATE, TIME, TIMESTAMP ou TIMESTAMP_TZ para obter um valor de data / hora.
Uma especificação CAST também pode ser usada para transformar uma representação de caractere de uma data, hora ou carimbo de data / hora (com ou sem fuso horário) em um valor de data / hora.

Date strings:
A string representation of a date is a string that starts with a digit and has a length of at least 8 characters.
Trailing blanks can be included, leading blanks are not allowed, and leading zeros can be omitted in the month and day portions.

Uma representação de string de uma data é uma string que começa com um dígito e tem pelo menos 8 caracteres.
Espaços em branco à direita podem ser incluídos, espaços em branco à esquerda não são permitidos e zeros à esquerda podem ser omitidos nas partes do mês e do dia.

The following table shows the valid string formats for dates.
Each format is identified by name and includes an associated abbreviation (for use by the CHAR function) and an example of its use.
For an installation-defined date string format, the format and length must have been specified when Db2 was installed.
They cannot be listed here.

A tabela a seguir mostra os formatos de string válidos para datas.
Cada formato é identificado pelo nome e inclui uma abreviatura associada (para uso pela função CHAR) e um exemplo de seu uso.
Para um formato de string de data definido pela instalação, o formato e o comprimento devem ter sido especificados quando o Db2 foi instalado.
Eles não podem ser listados aqui.

Table 2. Formats for string representations of dates

Tabela 2. Formatos para representações de string de datas

Format name Abbreviation Date format Example
International Standards Organization ISO yyyy-mm-dd 1987-10-12
IBM® USA standard USA mm/dd/yyyy 10/12/1987
IBM European standard EUR dd.mm.yyyy 12.10.1987
Japanese industrial standard Christian era JIS yyyy-mm-dd 1987-10-12
Installation-defined LOCAL Any installation-defined form

Time strings:
A string representation of a time is a string that starts with a digit, and has a length of at least 4 characters.
Trailing blanks can be included, leading blanks are not allowed, and leading zeros can be omitted in the hour part of the time; seconds can be omitted entirely.
If you choose to omit seconds, an implicit specification of 0 seconds is assumed.
Thus 13.30 is equivalent to 13.30.00.

Uma representação de string de uma hora é uma string que começa com um dígito e tem um comprimento de pelo menos 4 caracteres.
Espaços em branco à direita podem ser incluídos, espaços em branco à esquerda não são permitidos e zeros à esquerda podem ser omitidos na parte hora do tempo; os segundos podem ser totalmente omitidos.
Se você optar por omitir os segundos, uma especificação implícita de 0 segundos será assumida. Portanto, 13,30 é equivalente a 13,30,00.

The following table shows the valid string formats for times.
Each format is identified by name and includes an associated abbreviation (for use by the CHAR function) and an example of its use. In the case of an installation-defined time string format, the format and length must have been specified when your Db2 subsystem was installed.
They cannot be listed here.

A tabela a seguir mostra os formatos de string válidos para horários.
Cada formato é identificado pelo nome e inclui uma abreviatura associada (para uso pela função CHAR) e um exemplo de seu uso.
No caso de um formato de string de hora definido pela instalação, o formato e o comprimento devem ter sido especificados quando o subsistema Db2 foi instalado.
Eles não podem ser listados aqui.

Table 3. Formats for string representations of times

Tabela 3. Formatos para representações de string de tempos

Format name Abbreviation Time format Example
International Standards Organization 1 ISO1 hh.mm.ss 13.30.05
IBM USA standard USA hh:mm AM or PM 1:30 PM
IBM European standard EUR hh.mm.ss 13.30.05
Japanese industrial standard Christian era JIS hh:mm:ss 13:30:05
Installation-defined LOCAL Any installation-defined form
Note: 1. This is an earlier version of the ISO format.
JIS can be used to get the current ISO format.

Nota: 1. Esta é uma versão anterior do formato ISO.
JIS pode ser usado para obter o formato ISO atual.

In the USA format:

  • The minutes can be omitted, thereby specifying 00 minutes.
    For example, 1 PM is equivalent to 1:00 PM.
  • The letters A, M, and P can be lowercase.
  • A single blank must precede the AM or PM.
  • The hour must not be greater than 12 and cannot be 0 except for the special case of 00:00 AM.

No formato dos EUA:

  • Os minutos podem ser omitidos, especificando 00 minutos.
    Por exemplo, 1 PM é equivalente a 1:00 PM.
  • As letras A, M e P podem ser minúsculas.
  • Um único espaço em branco deve preceder AM ou PM.
  • A hora não deve ser maior que 12 e não pode ser 0, exceto no caso especial de 00:00 AM.

Using the ISO format of the 24-hour clock, the correspondence between the USA format and the 24-hour clock is as follows:

  • 12:01 AM through 12:59 AM correspond to 00.01.00 through 00.59.00
  • 01:00 AM through 11:59 AM correspond to 01.00.00 through 11.59.00
  • 12:00 PM (noon) through 11:59 PM correspond to 12.00.00 through 23.59.00
  • 12:00 AM (midnight) corresponds to 24.00.00
  • 00:00 AM (midnight) corresponds to 00.00.00

Usando o formato ISO do relógio de 24 horas, a correspondência entre o formato dos EUA e o relógio de 24 horas é a seguinte:

  • 0h01 a 0h59 corresponde a 0h01 a 0h59
  • 01h00 a 11h59 corresponde a 01h00 a 11h59
  • Das 12h (meio-dia) às 23h59 correspondem às 12h00 às 23h59
  • 00h00 (meia-noite) corresponde a 24h00
  • 00:00 AM (meia-noite) corresponde a 00h00
Timestamp strings:
A string representation of a timestamp is a character or graphic string that starts with a digit and has a length of at least 16 characters.
The character or graphic string must contain a value that conforms to one of the formats listed in Datetime constants, subject to the following rules:

Uma representação em sequência de um carimbo de data / hora é um caractere ou sequência gráfica que começa com um dígito e tem um comprimento de pelo menos 16 caracteres.
O caractere ou string gráfica deve conter um valor que esteja em conformidade com um dos formatos listados nas constantes Datetime, sujeito às seguintes regras:

  • leading blanks are not allowed
  • trailing blanks can be included
  • leading zeros can be omitted from the month, day, hour, and time zone hour elements of the timestamp.
    An implicit specification of 0 is assumed for any digit that is omitted.
  • the hour can be 24 if the minutes, seconds, and any fractional seconds are all zeroes.
  • leading zeros must be included for the minute, second, and time zone minute elements of the timestamp.
  • the number of digits of fractional seconds can vary from 0 to 12.
    An implicit specification of 0 is assumed if fractional seconds are omitted.
  • the separator character that follows the seconds element can be omitted if fractional seconds are not included.
  • an optional single blank can be included between the time and the time zone.
  • an optional time zone can be included, in one of the following formats:
    • ±th:tm, with values ranging from -24:00 to +24:00. A value of -0:00 is treated the same as a value of +0:00.
    • ±th, with values ranging from -24 to +24, and an implicit specification of 00 is assumed for the time zone minute element.
    • uppercase Z to specify UTC
  • espaços em branco não são permitidos
  • espaços em branco à direita podem ser incluídos
  • zeros à esquerda podem ser omitidos dos elementos de hora do mês, dia, hora e fuso horário do carimbo de data / hora. Uma especificação implícita de 0 é assumida para qualquer dígito omitido.
  • a hora pode ser 24 se os minutos, segundos e quaisquer segundos fracionários forem todos zeros.
  • zeros à esquerda devem ser incluídos para os elementos minuto, segundo e minuto do fuso horário do carimbo de data / hora.
  • o número de dígitos de segundos fracionários pode variar de 0 a 12.
    Uma especificação implícita de 0 é assumida se os segundos fracionários forem omitidos.
  • o caractere separador que segue o elemento de segundos pode ser omitido se os segundos fracionários não forem incluídos.
  • um único espaço opcional pode ser incluído entre o horário e o fuso horário.
  • um fuso horário opcional pode ser incluído em um dos seguintes formatos:
    • ± th: tm, com valores variando de -24: 00 a +24: 00. Um valor de -0: 00 é tratado da mesma forma que um valor de +0: 00.
    • ± th, com valores variando de -24 a +24, e uma especificação implícita de 00 é assumida para o elemento de minuto de fuso horário.
    • Z maiúsculo para especificar UTC

If a string representation of a timestamp is implicitly cast to a value with a timestamp data type, the timestamp precision is assumed to be 6, regardless of the number of digits of fractional seconds in the string.
Beyond the sixth digit that represents fractional seconds, the digits are truncated and the missing digits are assumed to be zeros.
For example, 1990-3-2-8.30.00.10 is equivalent to 1990-03-02-08.30.00.100000.
A string representation of a timestamp can be given a different timestamp precision by explicitly casting the value to a timestamp with a specified precision or, in the case of a constant, preceding the string with the TIMESTAMP keyword (for example, TIMESTAMP 2007-03-28-14.50.35.123; has the TIMESTAMP(3) data type).

Se uma representação de string de um carimbo de data/hora for implicitamente convertida em um valor com um tipo de dados de carimbo de data/hora, a precisão do carimbo de data/hora será considerada 6, independentemente do número de dígitos de segundos fracionários na string.
Além do sexto dígito que representa os segundos fracionários, os dígitos são truncados e os dígitos ausentes são considerados zeros.
Por exemplo, 1990-3-2-8.30.00.10 é equivalente a 1990-03-02-08.30.00.100000.
Uma representação de string de um carimbo de data/hora pode receber uma precisão de carimbo de data/hora diferente convertendo explicitamente o valor em um carimbo de data/hora com uma precisão especificada ou, no caso de uma constante, precedendo a string com a palavra-chave TIMESTAMP (por exemplo, TIMESTAMP 2007-03-28-14.50.35.123;tem o TIMESTAMP (3 ) tipo de dados).

If a string representation of a timestamp is implicitly cast to a TIMESTAMP WITHOUT TIME ZONE value, the string must not contain a time zone.

Se uma representação de string de um carimbo de data/hora for implicitamente convertida em um valor TIMESTAMP WITHOUT TIME ZONE, a string não deve conter um fuso horário.

SQL statements also support the ODBC or JDBC string representation of a timestamp as an input value only.
The ODBC and JDBC string representation of a timestamp has the form yyyy-mm-dd hh:mm:ss.nnnnnn.

As instruções SQL também suportam a representação de sequência ODBC ou JDBC de um carimbo de data/hora apenas como um valor de entrada.
A representação de string ODBC e JDBC de um carimbo de data / hora tem o formato aaaa-mm-dd hh: mm: ss.nnnnnn.

LOCAL date and time exits:

For LOCAL, the date exit for ASCII data is DSNXVDTA, the date exit for EBCDIC is DSNXVDTX, and the date exit for Unicode is DSNXVDTU.
For LOCAL, the time exit for ASCII data is DSNXVTMA, the time exit for EBCDIC is DSNXVTMX, and the time exit for Unicode is DSNXVTMU.

LOCAL date and time exits:

For LOCAL, the date exit for ASCII data is DSNXVDTA, the date exit for EBCDIC is DSNXVDTX, and the date exit for Unicode is DSNXVDTU.
For LOCAL, the time exit for ASCII data is DSNXVTMA, the time exit for EBCDIC is DSNXVTMX, and the time exit for Unicode is DSNXVTMU.



© Copyright IBM Corp.