Pregunta

Estoy escribiendo una función definida por el usuario de DB2 para la que necesito una matriz de enteros no negativos, que represento como varchar para datos de bits . Planeo usar dos bytes para cada entero (dándome un valor máximo de 2 ^ 16-1, que es aceptable).

Puedo convertir un entero en un char para datos de bits usando la función chr , pero ¿cómo puedo volver a un entero?

Cualquier consejo adicional sobre la manipulación de bits en los procedimientos de DB2 también sería útil, ya que parece que no puedo encontrar mucha documentación sobre él. Estoy usando v9.1 en Linux.

¿Fue útil?

Solución

No estoy seguro si CHR es realmente lo que quieres. Según la documentación , la función CHR:

  

Devuelve el carácter que tiene el valor del código ASCII especificado por el argumento. El argumento puede ser INTEGER o SMALLINT. El valor del argumento debe estar entre 0 y 255; de lo contrario, el valor de retorno es nulo.

El opuesto de la función CHR es el función ASCII.

La lista completa de procedimientos escalares de DB2 es here .

No estoy seguro de que escribir un UDF de esta manera sea lo mejor para lo que estás tratando de hacer. Puede considerar escribir un procedimiento almacenado que no esté en SQL. Hay una lista de idiomas compatibles, como Java, C, C ++, etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top