Доступные версии документации

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

Функция

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

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

Варианты:

<смещение байта>::=
целое положительное число
Синтаксические правила
  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 |
Заметили ошибку?
Выделите текст и нажмите Ctrl + Enter