CASTs Implícitos para Designação

Os valores podem ser designados a uma de três entidades.
Um campo de mensagem (ou equivalente em uma exceção ou lista de destino)
O suporte para conversão implícita entre os tipos de dados WebSphere Message Broker e a mensagem (em seu formato de fluxo de bits) depende do analisador apropriado. Por exemplo, o analisador XML lança tudo como cadeias de caracteres antes de inseri-las na mensagem do WebSphere MQ.
Um campo em uma tabela do banco de dados

O WebSphere Message Broker converte cada um de seus tipos de dados em um tipo de dados C SQL padrão adequado, conforme detalhado na tabela a seguir.A conversão entre este tipo de dados C SQL padrão e os tipos de dados suportados por cada DBMS depende do DBMS. Consulte a documentação do DBMS para obter detalhes adicionais.

A tabela a seguir lista as conversões disponíveis de WebSphere Message Broker para tipos de dados SQL

Tipo de dados WebSphere Message Broker Tipo de dados SQL
Valor NULL, ou desconhecido ou inválido SQL_NULL_DATA
BOOLEAN SQL_C_BIT
INTEGER SQL_C_LONG
FLOAT SQL_C_DOUBLE
DECIMAL SQL_C_CHAR1
CHARACTER SQL_C_CHAR
HORA SQL_C_TIME
GMTTIME SQL_C_TIME
DATE SQL_C_DATE
TIMESTAMP SQL_C_TIMESTAMP
GMTTIMESTAMP SQL_C_DATE
INTERVAL Não suportado2
BLOB SQL_C_BINARY
BIT Não suportado2
Notes:
  1. Por conveniência, os valores DECIMAL são transmitidos para o DBMS em formato de caractere.
  2. Não existe um tipo de dados C SQL padrão adequado para INTERVAL ou BIT. Lance-os para outro tipo de dados, como CHARACTER, se for necessário atribuí-los a um campo do banco de dados.
Uma variável escalar
Ao designar uma variável escalar, se o tipo de dados do valor que está sendo designado e o tipo de dados da variável de destino forem diferentes, será tentado um lançamento implícito com as mesmas restrições e comportamento especificados para a função CAST explícita. A única exceção é quando o tipo de dados da variável é INTERVAL ou DECIMAL.

Nestes casos, o valor que está sendo designado é o primeiro lançamento para um valor CHARACTER e é feita uma tentativa de lançar o valor CHARACTER em um INTERVAL ou DECIMAL. Isso por que INTERVAL requer um qualificador e DECIMAL requer uma precisão e escala. Eles devem ser especificados no lançamento explícito, mas devem ser obtidos da cadeia de caracteres durante o lançamento implícito. Portanto, uma restrição adicional é que, durante o lançamento implícito para uma variável INTERVAL, a cadeia de caracteres deve ter o formato INTERVAL '<valores>' <qualificador>. O formato <valores> abreviado que é aceitável para o lançamento explícito não é aceitável aqui.

Conceitos relacionados
Visão Geral do ESQL
Tarefas relacionadas
Desenvolvendo ESQL
Referências relacionadas
Funções Complexas ESQL
Casts Implícitos
CASTs Implícitos para Comparações
CASTs implícitos para operações aritméticas
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ak05720_