Преобразовать символ для битовых данных в целое число в DB2
-
05-07-2019 - |
Вопрос
Я пишу пользовательскую функцию DB2, для которой мне нужен массив неотрицательных целых чисел, который я представляю как varchar для битовых данных . Я планирую использовать два байта для каждого целого числа (давая мне максимальное значение 2 ^ 16-1, что приемлемо).
Я могу преобразовать целое число в символ для битовых данных с помощью функции chr , но как мне вернуть его в целое число?
Любые дополнительные советы по манипулированию битами в процедурах DB2 также были бы полезны, так как я не могу найти много документации по этому вопросу. Я использую v9.1 в Linux.
Решение
Я не уверен, что CHR на самом деле то, что вы хотите. Согласно документация , функция CHR:
Возвращает символ, который имеет значение кода ASCII, заданное аргументом. Аргумент может быть либо INTEGER, либо SMALLINT. Значение аргумента должно быть между 0 и 255; в противном случае возвращаемое значение равно нулю.
Противоположностью функции CHR является функция ASCII.
Полный список скалярных процедур DB2: здесь .
Я не уверен, что написание UDF таким способом является лучшим для того, что вы пытаетесь сделать. Возможно, вы захотите написать хранимую процедуру, которая не в SQL. Есть список поддерживаемых языков, таких как Java, C, C ++ и т. Д.