Pergunta

Eu estou escrevendo uma função definida pelo usuário do DB2 para que eu preciso um array de inteiros não-negativos, que eu represento como um varchar para dados de bit . I pretende usar dois bytes para cada inteiro (me dando um valor máximo de 2 ^ 16-1, que é aceitável).

posso converter um inteiro para um char para dados de bit usando a chr função , mas como faço para recuperá-lo para um número inteiro?

Qualquer aconselhamento adicional sobre manipulação de bits nos procedimentos DB2 seria útil também, como eu não consigo encontrar muita documentação sobre ele. Estou usando v9.1 no Linux.

Foi útil?

Solução

Eu não tenho certeza se CHR é realmente o que você quer. De acordo com a documentação , a função CHR:

Retorna o caractere que tem o valor de código ASCII especificado pelo argumento. O argumento pode ser INTEGER ou SMALLINT. O valor do argumento deve estar entre 0 e 255; caso contrário, o valor de retorno é nulo.

O oposto da função CHR é a função ASCII.

Lista completa de procedimentos escalares DB2 é aqui .

Eu não tenho certeza se a escrever uma UDF dessa forma é o melhor para o que você está tentando fazer. Você pode querer considerar escrever um procedimento armazenado que não está em SQL. Há uma lista de idiomas suportados, como Java, C, C ++ etc.

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