Notas sobre o Release


43.9 Tipo GRAPHIC e Compatibilidade de DATE/TIME/TIMESTAMP

Nas seções a seguir, referências a valores de data e hora com representações de "cadeia de caracteres" foram alteradas para representações de "cadeia". O DB2 agora suporta, apenas para bancos de dados Unicode, representações de "cadeia gráfica" de valores de data e hora.

43.9.1 Representações de Cadeia de Valores de Data e Hora

Valores cujos tipos de dados são DATE, TIME ou TIMESTAMP são representados em um formato interno que é transparente para o usuário. Os valores de data, hora e data e hora podem, no entanto, também ser representados por cadeias. Isso é útil, porque não há constantes ou variáveis cujos tipos de dados são DATE, TIME ou TIMESTAMP. Antes de poder ser recuperado, um valor de data e hora deve ser atribuído a uma variável de cadeia. A função CHAR ou a função GRAPHIC (apenas para bancos de dados Unicode) podem ser utilizadas para alterar um determinado valor de uma representação de cadeia. A representação da cedia é geralmente o formato padrão dos valores de data e hora associados ao código do país/região do banco de dados, a não ser que substituído por especificação da opção DATETIME quando o programa é pré-compilado ou ligado ao banco de dados.

Não importando seu comprimento, uma cadeia de objeto grande, um valor LONG VARCHAR ou um valor LONG VARGRAPHIC, não pode ser utilizada para representar um valor de data e hora (SQLSTATE 42884).

Quando uma representação de cadeia válida de um valor de data e hora for utilizado em uma operação com um valor de data e hora interno, a representação da cadeia é convertida para o formato interno do valor da data, da hora ou da data e hora antes da operação ser executada.

Cadeias de data, de hora e de data e hora devem conter apenas caracteres e dígitos.

43.9.1.1 Cadeias de Data, Cadeias de Hora e Cadeias de Data e Hora

As definições desses termos foram levemente alteradas. As referências às representações de "cadeia de caracteres" foram alteradas para representações de "cadeia".

43.9.2 Conversão entre Tipos de Dados

DATE, TIME e TIMESTAMP agora podem ser convertidos para GRAPHIC e VARGRAPHIC. GRAPHIC e VARGRAPHIC agora podem ser convertidos para DATE, TIME e TIMESTAMP. O suporte à cadeia gráfica está disponível apenas para bancos de dados Unicode.

43.9.3 Atribuições e Comparações

Agora há compatibilidade de tipo de dados para atribuições e comparações entre cadeias gráficas e valores DATE, TIME e TIMESTAMP. O suporte à cadeia gráfica está disponível apenas para bancos de dados Unicode.

43.9.4 Atribuições de Data e Hora

A regra básica para atribuições de data e hora é que um valor DATE, TIME ou TIMESTAMP pode ser atribuído apenas a uma coluna com tipo de dados correspondente (DATE, TIME ou TIMESTAMP) ou a uma variável de cadeia ou coluna de cadeia com comprimento variável. A atribuição não deve ser a uma variável ou coluna LONG VARCHAR, CLOB, LONG VARGRAPHIC, DBCLOB ou BLOB.

Quando um valor de data e hora é atribuído a uma variável de cadeia ou a uma coluna de cadeia, a conversão para uma representação de cadeia é automática. Zeros à esquerda não são omitidos de qualquer parte da data, hora ou data e hora. O comprimento requerido do destino variará, dependendo do formato da representação da cadeia. Se o comprimento do destino for maior que o requerido e o destino for uma cadeia de comprimento fixo, ele será preenchido à direita com espaços em branco. Se o comprimento do destino for menor que o requerido, o resultado dependerá do tipo de valor de data e hora envolvido e do tipo de destino.

Quando o destino é uma variável do host, a seguinte regra se aplica:

43.9.5 DATE

>>-DATE--(--expressão--)---------------------------------------><
 
 

O esquema é SYSIBM.

A função DATE retorna uma data de um valor.

O argumento deve ser uma data, uma data e hora, um número positivo menor ou igual a 3.652.059, uma representação de cadeia válida de uma data ou data e hora, ou uma cadeia de comprimento 7 que não seja LONG VARCHAR, CLOB, LONG VARGRAPHIC, DBCLOB ou BLOB.

Apenas bancos de dados Unicode suportam um argumento que seja uma representação de cadeia gráfica de uma data ou uma data e hora.

Se o argumento for uma cadeia de comprimento 7, ele deve representar uma data válida no formato aaaannn, em que aaaa são dígitos que denotam um ano e nnn são dígitos entre 001 e 366, denotando um dia do ano.

O resultado da função é uma data. Se o argumento puder ser nulo, o resultado poderá ser nulo; se o argumento for nulo, o resultado será o valor nulo.

As outras regras dependem do tipo de dados do argumento:

Exemplos:

Suponha que a coluna RECEIVED (data e hora) tenha um valor de intervalo equivalente a '1988-12-25-17.12.30.000000'.

43.9.6 GRAPHIC

>>-GRAPHIC--(--expressão gráfica--+-------------------+--)-----><
                                  '-,--número inteiro-'
 
 

O esquema é SYSIBM.

A função GRAPHIC retorna uma representação GRAPHIC de um tipo de cadeia gráfica ou uma representação GRAPHIC de um tipo de data e hora.

expressão gráfica
Uma expressão que retorna um valor que é uma cadeia gráfica.
número inteiro
Um valor de número inteiro que especifica o atributo de comprimento do tipo de dados GRAPHIC. O valor deve estar entre 1 e 127. Se o número inteiro não for especificado, o comprimento do resultado será igual ao comprimento do primeiro argumento.

O resultado da função e um GRAPHIC. Se o argumento puder ser nulo, o resultado poderá ser nulo; se o argumento for nulo, o resultado será o valor nulo.

Data e Hora para Gráfico:

>>-GRAPHIC--(--expressão de data e hora--+--------------+--)---><
                                         '-,--+-ISO---+-'
                                              +-USA---+
                                              +-EUR---+
                                              +-JIS---+
                                              '-LOCAL-'
 
 

Data e Hora para Gráfico
expressão de data e hora
Uma expressão que tem um dos três tipos de dados a seguir

data
O resultado é a representação da cadeia gráfica da data no formato especificado pelo segundo argumento. O comprimento do resultado é igual a 10. Ocorre um erro se o segundo argumento for especificado e não for um valor válido (SQLSTATE 42703).

hora
O resultado é a representação da cadeia gráfica da hora no formato especificado pelo segundo argumento. O comprimento do resultado é 8. Ocorre um erro se o segundo argumento for especificado e não for um valor válido (SQLSTATE 42703).

marca de hora
O segundo argumento não se aplica e não deve ser especificado (SQLSTATE 42815). O resultado é a representação da cadeia gráfica de data e hora. O comprimento do resultado é igual a 26.

A página de códigos é a página de códigos do banco de dados do servidor de aplicativos.

43.9.7 TIME

>>-TIME--(--expressão--)---------------------------------------><
 
 

O esquema é SYSIBM.

A função TIME retorna uma hora de um valor.

O argumento deve ser uma hora, uma data e hora ou uma representação de cadeia válida de uma hora ou data e hora que não seja LONG VARCHAR, CLOB, LONG VARGRAPHIC, DBCLOB ou BLOB.

Apenas bancos de dados Unicode suportam um argumento que seja uma representação de cadeia gráfica de uma hora ou de uma data e hora.

O resultado da função é uma hora. Se o argumento puder ser nulo, o resultado poderá ser nulo; se o argumento for nulo, o resultado será o valor nulo.

As outras regras dependem do tipo de dados do argumento:

Exemplo:

43.9.8 TIMESTAMP

>>-TIMESTAMP--(--expressão--+------------+--)------------------><
                            '-,expressão-'
 
 

O esquema é SYSIBM.

A função TIMESTAMP retorna uma data e hora de um valor ou de um par de valores.

Apenas bancos de dados Unicode suportam um argumento que seja uma representação de cadeia gráfica de uma data, de uma hora ou de uma data e hora.

As regras dos argumentos depende de se o segundo argumento é especificado.

O resultado da função é uma data e hora. Se qualquer um dos dois argumentos puder ser nulo, o resultado poderá ser nulo; se qualquer um dos dois argumentos for nulo, o resultado será o valor nulo.

As outras regras dependem de se o segundo argumento é especificado:

Exemplo:

43.9.9 VARGRAPHIC

Caractere para Vargraphic:

>>-VARGRAPHIC--(--expressão de cadeia de caracteres--)---------><
 
 

Data e Hora para Vargraphic:

>>-VARGRAPHIC--(--expressão de data e hora--)------------------><
 
 

Gráfico para Vargraphic:

>>-VARGRAPHIC--(--expressão de cadeia gráfica------------------->
 
>--+-------------------+--)------------------------------------><
   '-,--número inteiro-'
 
 

O esquema é SYSIBM.

A função VARGRAPHIC retorna uma representação de cadeia gráfica de um:

O resultado da função é uma cadeia gráfica de comprimento variável (tipo de dados VARGRAPHIC). Se o primeiro argumento puder ser nulo, o resultado poderá ser nulo; se o primeiro argumento for nulo, o resultado será o valor nulo.

Caractere para Vargraphic

expressão de cadeia de caracteres
Uma expressão cujo valor deve ser de um tipo de dados de cadeia de caracteres diferente de LONG VARCHAR ou CLOB, e cujo comprimento máximo não deve ser maior que 16.336 bytes.

O atributo de comprimento do resultado é igual ao atributo do comprimento do argumento.

Deixe S denotar o valor da expressão de cadeia de caracteres. Cada caractere de byte simples de S é convertido à sua representação de byte duplo equivalente ou ao caractere de substituição de byte duplo no resultado; cada caractere de byte duplo de S é mapeado 'como se encontra'. Se o byte simples de um caractere de byte duplo aparecer como o último byte de S, ele é convertido para o caractere de substituição de byte duplo. A ordem seqüencial dos caracteres em S é preservada.

Seguem considerações adicionais para a conversão.

Data e Hora para Vargraphic

expressão de data e hora
Uma expressão cujo valor deve ser do tipo de dados DATE, TIME ou TIMESTAMP.

Gráfico para Vargraphic

expressão de cadeia gráfica
Uma expressão que retorna um valor que é uma cadeia gráfica.
número inteiro
O atributo de comprimento para a cadeia gráfica de comprimento variável resultante. O valor deve estar entre 0 e 16.336. Se esse argumento não for especificado, o comprimento do resultado será o mesmo que o comprimento do argumento.

Se o comprimento da expressão de cadeia gráfica for maior que o atributo de comprimento do resultado, ocorrerá uma truncagem e um aviso será retornado (SQLSTATE 01004), a não ser que os caracteres truncados estivessem todos em branco e a expressão de cadeia gráfica não fosse uma cadeia longa (LONG VARGRAPHIC ou DBCLOB).


[ Início da Página | Página Anterior | Próxima Página | Índice | Índice Remissivo ]