Функции 4GL

Встроенные функции 4GL. Не включать в SQL операторы.

arg_val (n)          n-й аргумент из командной строки
num_args ()          кол-во аргументов в командной строке
infield (field-name) истина если курсор находится в поле  (DISPLAY/INPUT)
CALL set_count(n)    сообщить 4GLю кол-во заполненных строк в массиве
                     перед оператором DISPLAY ARRAY
arr_curr()           No. текущей строки массива           (INPUT/DISPLAY ARRAY)
scr_liпе ()          No. текущей строки экранного массива (INPUT/DISPLAY ARRAY)
arr_count ()         кол-во заполненных строк в массиве   (INPUT ARRAY)
err_get (status)     4GL сообщение об ошибке ° status
CALL err_print(nn)   вывести  4GL сообщение об ошибке ° nn
CALL err_quit (nn)   вывести  4GL сообщение об ошибке и кончить
CALL showhelр (n)    вывести  4GL help-menu и help-сообщение
CALL startlog("filename")   открыть errorlog файл
CALL errorlog (строка)      добавить сообщение в errorlog
downshift (строка)          не длиннее 512
upshift   (строка)
ASCII   n            Преобразует число n в символ ASCII
строка CLIPPED       Гасит пробелы в конце строки
COLUMN  n       Добавить пробелов, чтоб оказаться на n-ом столбце экрана
expr USING "format"  Задает формат для number, MONEY, DATE выражений
  элементы формата чисел: *?<,.-+()$
    * Заменять пробелы на *        .   позиция десятичной точки
    & Заменять пробелы на 0        -   позиции знака "-"
    # ничего не менять             +   позиции знаков "+","-"
    < левоустановить число     (((...) отрицательное число в скобки.
    , литерал ","                  $   литерал  "$"
  элементы формата дат: dd,ddd,mм,mmм,yу,yyyу и литералы /-.() и др.

Эти функции можно использовать в операторе SELEСТ:

SITENAME                имя сервера(или hostname)          *OnL*
LENGTН (строка)            длина без заканчивающих пробелов
USER                       login-name текущего пользователя
TODAY                      текущая дата в системном формате
CURRENТ  [first TО last]   текущее DATETIME
где first,last из {YEAR,MONTH,DAY,HOUR,MINUTE,SECOND,FRACTION(n)}

Преобразование дат и времени:

TIМЕ                       текущее время в виде "hh:mm:ss"
DАТЕ                       текущая дата в виде "Mon Apr 1 1991"
EXTEND (datetime-value [first TО last]) преобразует к DATETIME
expr UNITS qualifier Возвращает INTERVAL значение=expr*qualifier
где qualifier Ё {YEAR,MONTH,DAY,HOUR,MINUTE,SECOND,FRACTION(n)}
DАТЕ ([char] expr)         преобразует к типу DATE
MDY (nDAY, nMONTH, nYEAR)  преобразует к типу DATE
DAY (дата  )     выделяет номер дня в месяце из даты
WEEKDAY (дата)   выделяет номер дня в неделе   ! Здесь дата  
MONTН (дата)     выделяет номер месяца         ! типа DATE   
YEAR (дата)      выделяет год                  ! или DATETIМЕ

Встроенные агрегатные функции оператора SELEСТ.

COUNТ (*)
COUNТ (  DISTINCT  column-name )     количество
SUМ   ( [DISTINCT] column-name )
AVG   ( [DISTINCT] column-name )     среднее значение
MIN   ( [DISTINCT] column-name )
MAХ   ( [DISTINCT] column-name )

Назад || Оглавление || Вперед


Copyright © CIT