Question

J'écris une fonction DB2 définie par l'utilisateur pour laquelle j'ai besoin d'un tableau d'entiers non négatifs, que je représente sous la forme d'un varchar pour les données binaires . Je prévois d’utiliser deux octets pour chaque entier (ce qui me donne une valeur maximale de 2 ^ 16-1, ce qui est acceptable).

Je peux convertir un entier en caractère pour les données binaires à l'aide de la fonction chr , mais comment puis-je le récupérer en un entier?

Tout conseil supplémentaire sur la manipulation de bits dans les procédures DB2 serait également utile, car il me semble que je ne trouve pas beaucoup de documentation à ce sujet. J'utilise la version 9.1 sur Linux.

Était-ce utile?

La solution

Je ne suis pas sûr si CHR est vraiment ce que vous voulez. Selon la documentation , la fonction CHR:

  

Renvoie le caractère dont la valeur de code ASCII est spécifiée par l'argument. L'argument peut être INTEGER ou SMALLINT. La valeur de l'argument doit être comprise entre 0 et 255; sinon, la valeur de retour est null.

L'opposé de la fonction CHR est le Fonction ASCII.

La liste complète des procédures scalaires DB2 est ici .

Je ne sais pas si écrire un fichier UDF de cette manière convient mieux à ce que vous essayez de faire. Vous voudrez peut-être envisager d'écrire une procédure stockée qui n'est pas en SQL. Il existe une liste de langages pris en charge, tels que Java, C, C ++, etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top