Значение заданного байта
Функция
Получить значение заданного байта.
Спецификация
Варианты:
<синтаксис>
::=GETBYTE (значимое выражение, смещение байта)
<синтаксис>
::=GETBYTEB (значимое выражение, смещение байта)
<смещение байта>
::=целое положительное число
Синтаксические правила
-
<Смещение байта>– целое положительное число, задающее положение байта в<значимом выражении>. Нумерация байтов начинается с нуля. -
Допустимые значения
<смещения байта>:Тип аргумента
<значимое выражение>Допустимый диапазон байтов
<смещение байта>CHAR(N) 0 – N-1 VARCHAR(N) 0 – N-1 BYTE(N) 0 – N-1 NCHAR(N) 0 – N-1 VARBYTE(N) 0 – N-1 NCHAR VARYING(N) 0 – N-1 DECIMAL (NUMERIC) 0 –15 BIGINT 0 – 7 INT 0 – 3 SMALLINT 0 – 1 REAL 0 – 3 (зависит от архитектуры) DOUBLE 0 – 7 (зависит от архитектуры) DATE 0 – 15 TRUE (FALSE) 0 BLOB 0 – 23 (значения из описателя BLOB-данных) -
Тип
<значимого выражения>не проверяется. -
Аргументы
<значимое выражение>и<смещение байта>могут быть заданы<SQL-параметром>, который должен содержать спецификацию типа данных параметра.select getbyte(? (bigint),? (int)); 56334289754 2 | 201|
Возвращаемое значение
-
Значение указанного байта в
<значимом выражении>. -
Тип возвращаемого значения:
GETBYTE–INT,GETBYTEB–BYTE(1). -
Если задано недопустимое смещение, фиксируется исключительная ситуация.
Пример
select getbyte('a',0),getbyte('A',0),getbyte(hex('FC0A'),1),
getbyte(4567,1),
getbyte(to_char(sysdate,'dd/mm/yyyy'),5)
from person where personid=2;
|97 |65 |10 |17 |47 |