Pergunta

Em Informix, como posso lançar um tipo char(8) em um tipo money, para que eu possa compará-lo com outro tipo money?

Usando o "tblAid.amt::money as aid_amt" não funcionou. Usando "(tblAid.amt * 1) AS aid_amt" não trabalho.

Foi útil?

Solução

tentar isso ->

select (disb_amt::NUMERIC) disb_amt from tmp_kygrants;

Você pode ser capaz de comparar os valores como numérico.

Outras dicas

Primeira pergunta - por que diabos você não armazenar um valor numérico em uma coluna numérica? Isto faria com que o resto de sua discutível questão. Também significaria que o sistema terá um desempenho melhor. Quando você precisa para valores de dados armazenar, usar o tipo óbvio; não usar um tipo de cadeia, a menos que os dados é uma string.

Como já mencionado, você pode usar a notação não-padrão elenco Informix:

SELECT some_column::MONEY FROM WhereEver;

Você também pode ter mais cuidado com o tipo elenco - usando o dinheiro (8,2), por exemplo. Você também pode usar a notação padrão:

SELECT CAST(some_column AS MONEY(8,2)) FROM WhereEver;

Isso pressupõe que você está usando IDS 9.x ou posterior - produtos mais antigos não suportam moldes em tudo. No entanto, em geral, Informix é bom bastante sobre fazer conversões automaticamente (por exemplo, a conversão de números para strings). No entanto, as cadeias são comparadas lexicographically e não numericamente, então CAST é provavelmente mais sábio neste contexto -. Mas evitando a necessidade de um elenco usando o tipo correto em primeiro lugar é mais sábio ainda

'Tis sido um tempo desde que eu brinquei com o Informix e eu não tenho uma instância em execução calhar no momento. No entanto, há duas coisas que podem causar um problema aqui:

1) uma vez que é um carvão animal (8) que pode conter valores que não podem ser fundidas para numérico sem um pouco de 'limpeza'. Por exemplo. "abc". Ou "1,234,567.00".
2) À direita de espaços. (Char em oposição a VARCHAR).

O erro informix você recebe em seu elenco explícita (:: dinheiro)?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top