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

Функция

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

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

Варианты:

< смещение байта >::=
целое положительное число
Синтаксические правила
  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 |