Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
12.65 Mб
Скачать

Приложение 3. Встроенные функции субд Visual FoxPro

Функции в FoxPro используются для анализа или преобразования данных. Синтаксическая особенность функций - обязательное наличие скобок (кроме функций подстановки &).

Математические функции

Abs(<BырN>) - абсолютное значение <ВырN>.

Between(<Bыр>,<Bыр1>,<Bыр2>) - возвращает значение “Истина“ (.Т.), если <Выр> больше или равно <Выр1> и меньше или равно <Выр2>; иначе - “Ложь“ (.F.).

Ceiling(<ВырN>) - ближайшее целое число большее или равное <BырN>.

Floor( <BырN>) - ближайшее целое число меньшее или равное <ВырN>.

Int( <BырN>) - целая часть <ВырN>.

Max/Min(<Выр>,<Выр1>[,<Выр2> ...]) - максимальное/минимальное значение из списка ар­гу­ментов, которые все должны быть одного типа.

Mod(<BырN1>,<BырN2>) - целочисленный остаток от деления <BырN1> на <BырN2>.

Round(<BырN1>,<BырN2>) - округление <ВырN1> до заданного в <BырN2> количест­ва знаков после запятой.

Rand( ) - возвращает псевдослучайное число в диапазоне 0 - 1.

Eхр(<BырN>) - основание натурального логарифма “е“ в степени <BырN>.

Log/Logio (<BырN>) - натуральный/десятичный логарифм <BырN>.

Sqrt(<BырN>) - квадратный корень <BырN>.

Sin/Cos/Tan/Asin/Atan (<BырN>) - синус/косинус/арксинус/арктангенс <ВырN>. <ВырN> задается в радианах.

Dtor (<BырN>) - преобразует угол, заданный в градусах, в радианы.

Rtod(<BырN>) - возвращает угол в градусах по его радианному значению <ВырN>.

Строковые функции

<ВырС1>$<ВырС2> - возвращает .Т., если <ВырС1> содержится в <ВырС2>, и .F. в противном случае.

At/Atc(<BырC1>,<BырC2>[,<BырN>]) - поиск слева направо в строке <ВырС2> номера позиции, с которой начинается подстрока <вырС1>. Если подстрока не найдена, выдается 0. Параметр <BырN> указывает, какой экземпляр <ВырС1> разыскивается в <ВырС2>. По умолчанию <BырN>=l.

Полностью аналогична функции Аt( ) функция Атс, которая при поиске не различает строчные и прописные буквы.

Rat(<BырC1>,<BырC2>[,<BырN>]) - аналогична функции AT, но поиск ведется справа налево.

Inlist(<Bыр>,<Bыр1>[,<Bыр2> ...]) - возвращает .Т., если <Выр> содер­жит­ся в списке <Выр1>,<Выр2>,... Все выражения должны быть одного типа.

Isdigit(<BырC>) - возвращает .Т., если первый символ <ВырС> цифра. Len(<BырC>) - число символов в <ВырС>.

Like(<BырC1>,<BырC2>) - возвращает логическое значение .Т. или .F., которое указывает, имеется или нет <ВырС1> в <ВырС2>. Для <ВырС1> разрешается использовать символы маски * и ?.

Occurs(<ВырС1>,<ВырС2>) - возвращает число вхождений <ВырС1> в выражение <ВырС2>.

Left/Right (<ВырC>,<ВырN>) - выделение из строки <ВырС> указанного в <ВырN> числа символов слева/справа.

Substr(<ВырС>, <начальная позиция>, [число символов]) - выделение из <ВырС> подстроки, начиная с <начальной позиции> длиной в <число символов>. Если последний параметр отсутствует, то выделяется подстрока до конца исходной строки.

Chrtran(<ВырС1>,<ВырС2>,<ВырСз>) - конвертирует символы из <ВырС1>, используя символы строк <ВырС2> и <ВырСЗ> как таблицу перевода. Все появления в <ВырС1> первого знака из <ВырС2> заменяются первым знаком из <ВырСЗ>, второго знака из <ВырС2> - вторым знаком из <ВырСЗ> и т.д. Если <ВырСЗ> имеет меньше знаков, чем <ВырС2>, дополнительные знаки в <ВырС2> переводятся в знаки нулевой длины. Если <ВырСЗ> имеет больше знаков, чем <ВырС2>, то дополнительные знаки игнорируются.

Alltrim/Ltrim/Rtrim (<ВырС>) - удаление всех/ведущих/завершающих про­бе­лов в <ВырС>.

Replicate (<ВырC>,<ВырN>) - <ВырС> повторяется <ВырN> раз.

Space(<ВырN>) - формирование строки пробелов длиной <ВырN>.

Stuff (<ВырС1>,<начальная позиция>,<число символов>,<ВырС2>) - из­менение любой части <ВырС1> на <ВырС2> с места, указанного <начальной позицией> длиной в заданное <число символов>. Если <число сим­волов> равно 0, то <ВырС2> вставляется в <ВырС1>. Если <ВырС2> является пустой строкой длиной 0, то из исходной строки удаляется указанное <число символов> со сжатием <ВырС1>.

Strtran(<ВырC1>,<ВырC2>R,[<ВырC3>],<ВырN1>L[,<Вырn2>]) ‑ возвра­ща­ет <ВырС1>, в котором встретившиеся в нем <ВырС2>, замещены на <вырСЗ>. Замеще­ние начинается с <ВырN1>-го вхождения и продолжается до <ВырN2>-ro вхождения. Если <ВырСЗ> опущено, то <ВырС2> будет превращено в пустую строку. Если не указано <ВырN1>, оно считается равным 1, если не указано <ВырN2>, все то встретившиеся <ВырС2> будут замещены.

Isalpha/Islower/Isupper(<ВырC>) - возвращает .Т., если <ВырС> начинается с буквы/со строчной буквы/с прописной буквы.

Lower/Upper (<ВырС>) - преобразует все прописные латинские буквы <ВырС> в строчные/прописные.