Значение заданного байта

Функция

Получить значение заданного байта.

Спецификация
   

Варианты:

<​синтаксис​>::=
<​смещение байта​>::=
целое положительное число
Синтаксические правила
  1. <​Смещение байта​> – целое положительное число, задающее положение байта в <​значимом выражении​>. Нумерация байтов начинается с нуля.

  2. Допустимые значения <​смещения байта​>:

    Тип аргумента
    <​значимое выражение​>

    Допустимый диапазон байтов
    <​смещение байта​>

    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-данных)
  3. Тип <​значимого выражения​> не проверяется.

  4. Аргументы <​значимое выражение​> и <​смещение байта​> могут быть заданы <​SQL-параметром​>, который должен содержать спецификацию типа данных параметра.

    select getbyte(? (bigint),? (int));
    56334289754
    2
    |        201|

Возвращаемое значение
  1. Значение указанного байта в <​значимом выражении​>.

  2. Тип возвращаемого значения: GETBYTEINT, GETBYTEBBYTE(1).

  3. Если задано недопустимое смещение, фиксируется исключительная ситуация.

Пример
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 |