Инструменты пользователя

Инструменты сайта


ascii_char

Различия

Здесь показаны различия между двумя версиями данной страницы.

Ссылка на это сравнение

Both sides previous revision Предыдущая версия
Следущая версия
Предыдущая версия
ascii_char [2010/01/10 16:48]
peaktop Стала встроенной в 2.1, не в 2.0
ascii_char [2013/03/27 09:33] (текущий)
Строка 1: Строка 1:
 +====== ASCII_CHAR() ======
  
 +
 +
 +
 +===== Версии сервера =====
 +^                       ^ 0.9 ^ 1.0 ^ 1.5.3 ^ 1.5.4 ^ 1.5.5 ^ 2.0 ^ 2.1 ^ 2.5 ^ 3.0 ^
 +^Как [[UDF]] ​           |  Да  |  Да  |  Да  |  Да  |  Да  |  Да  |  -  |  -  |  -  |
 +^Как встроенная функция |  -  |  -  |  -  |  -  |  -  |  -  |  Да  |  Да  |  Да  |
 +
 +
 +===== Доступно в =====
 +[[raznovidnosti_jazyka_sql|DSQL]], ​  ​[[raznovidnosti_jazyka_sql|ISQL]], ​  ​[[raznovidnosti_jazyka_sql|PSQL]]
 +
 +
 +===== Формат =====
 +<​code>​ASCII_CHAR( < аргумент > )</​code>​
 +^ Аргумент ^ Описание ^
 +| < аргумент >  | [[tipy_dannyx|INTEGER]] код символа в таблице символов кодировки ​ |
 +| Возвращает | [[tipy_dannyx|CHAR(1)]] ​ |
 +
 +===== Описание =====
 +Функция ASCII_CHAR возвращает символ по его коду, переданного в качестве параметра < аргумент >.
 +
 +:!: В Firebird версии младше 2.1 для того, чтобы пользоваться этой функцией,​ ее небходимо подключить к базе данных как [[UDF]].
 +
 +===== Объявление =====
 +1. В Firebird версии младше 2.1 функция объявляется как [[UDF]] в внешнем модуле "​ib_udf"​.
 +<code sql>
 +DECLARE EXTERNAL FUNCTION ASCII_CHAR
 +  INTEGER
 +RETURNS
 +  CHAR(1)
 +ENTRY_POINT "​IB_UDF_ascii_char"​ MODULE_NAME "​ib_udf";​
 +</​code>​
 +
 +2. В Firebird версии 2.1 и старше является встроенной функцией при соглашении объявления ее как:
 +<code sql>
 +DECLARE EXTERNAL FUNCTION ASCII_CHAR
 +  INTEGER
 +RETURNS
 +  CHAR(1)
 +ENTRY_POINT "​ascii_char"​ MODULE_NAME SYSTEM;
 +</​code>​
 +
 +
 +
 +===== Пример =====
 +Допустим,​ существует таблица CUSTOMERS с доменами ID [[tipy_dannyx|INTEGER]] и NAME [[tipy_dannyx|VARCHAR(80)]].
 +
 +Требуется выбрать из таблицы все записи с ID < 10, вернув их в виде списка,​ разделенного точкой с запятой.
 +
 +[[raznovidnosti_jazyka_sql|PSQL]]
 +<code sql>
 +SET TERM !!!;
 +
 +CREATE OR ALTER PROCEDURE CUST_LIST RETURNS (
 +  CUSTS  BLOB SUB_TYPE TEXT
 +)AS
 +  DECLARE VARIABLE P_CUST_NAME VRACHAR(80);​
 +BEGIN
 +  CUSTS = '';​
 +  FOR
 +    SELECT C.NAME
 +    FROM   ​CUSTOMERS C
 +    WHERE  (C.ID < 10)
 +    INTO   :​P_CUST_NAME
 +  DO
 +    CUSTS = :CUSTS || :​P_CUST_NAME || ASCII_CHAR(59);​
 +  SUSPEND;
 +END !!!
 +
 +SET TERM ; !!!
 +</​code>​
 +
 +
 +===== См. также =====
 +[[UDF]], [[vstroennye_funkcii|Встроенные функции]]
 +
 +===== Источник =====
 +langref.pdf
ascii_char.txt · Последние изменения: 2013/03/27 09:33 (внешнее изменение)