Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Среднее профессиональное образование 17 страница



 


Погром

Уральске сказы


Сергеевич


MsBjaMaoe


'уикич _//у*снлр vuik ч Алис»-да


Сергеевич


Александр Атексчндр М нсей Николай Никоя й


Сергеевич

Сергеевич Смчукгтоеич О с ват Вас вам


Проза


Талаащант аиара. сегодня завтра Венера на хуторе ВпюДикачаки Повести


Гегеле

Гвгоя


 


Васильевич

Гс-шч

Рааизор амртаые души


Галактион зам


Короленко

лксавоа


Влиеыир

Сергей


Тииофаеам


Повести и рассказы


Из6^аа«ноа


 


Григорьева

Рис. 11.2. Результат работы примера 3.

Результат работы примера см на рис. 11.2.

Пример 4. Вывести в окно Query значения полей из разных таблиц. Экранные имена столбцов задать буквами русского ал­фавита. Выполнить сортировку данных по возрастанию по зна­чениям столбца «Фамилия», а при одинаковых фамилия — по значениям столбца «Год».

CLOSE ALL

SET DEFAULT TO E:\Prim_bd USE Catalog IN 2 ALIAS Cat

USE Fam IN 5 ALIAS Fan

USE Im IN 7 ALIAS Im

USE Ot IN 10 ALIAS Ot

SET TALK OFF CLEAR SELE Cat

/ •

SELECT F.Name_fam AS 'Фамилия*. I.Name_im AS 'Имя О.Kame_ot AS 'Отчество'.;

C.Name_book AS 'Название_книги';

С.Year AS 'Год',; С.Price AS 'Цена';

FROM Catalog C, Fam F, Im I, Ot O;

WHERE С.Key_fam=F.Key_fam AND С.Key_im=I.Key_im AND С.Key_ot =0.Key_o t;

ORDER BY F.Name_fam, C.Year


Пример 5. Выполнить задание по условиям примера 4, но результат выборки направить во вновь создаваемую таблицу Catal jrom.

CLOSE ALL

SET DEFAULT TO E:\Prim_bd •jSS Catalog IN 2 ALIAS Cat

USE Fam IN 5 ALIAS Fan

USE Im IN 7 ALIAS Im

USE Ot IN 10 ALIAS Ot

SEC TALK OFF CLEAR SELE Cat

SELECT F.Name_£am AS 'Оамклкя', I.Name_im AS 'Имя'; O.Name_ot AS 'Отчество',

С.Name_book AS 'Название_книги';

С.Year AS 'Год',; С.Price AS 'Цена';

FROM Catalog C, Fam F, Im I, Ot O;

WHERE С.Key_fam=F.Key_£am AND; C.Key_im=I.Key_im AND;

С.Key_ot =0.Key_ot;

ORDER BY F.Kame_fam, C.Year;

INTO TABLE Cata L_prom.dbf BROWSE

Пример 6. Из таблицы фамилий Fam сделать выборку и вывести па экран все фамилии, которые начинаются с буквы «С».

CLOSE ALL

SET DEFAULT TO E:\Pri.T._bd USE Catalog IN 2 ALIAS Cat

USE Fam IN 5 ALIAS Fam

USE Im IN 7 ALIAS Im

USE Ot IN 10 ALIAS Ot

SET TALK OFF CLEAR SELE Cat

SELECT * FROM Fam F WHERE F.Name_fam LIKE «С%»


Рис. 11.3. Выборка фамилий, которые начинаются с одной буквы.

Name fam

Сергее»

5.Смменон

6-Самсонов

31 {Северянин

Результат работы программы показан на рис. 11.3.

Пример 7. Из таблицы фамилий Fam сделать выборку и вывести на экран все фамилии, которые начинаются с буквы ♦ К* и состоят из трех букв.

CLOSE ALL

S3T DEFAULT ТО E:\Prim_bd USE Catalog IN 2 ALIAS Cat

USE Fam IN 5 ALIAS Fam

JSE Im IN 7 ALIAS Im

USE Ot IN 10 ALIAS Ot

SET TALK OFF CLSA?.

SSLE Cat

SELECT * FROM Fam F WHERE F.Name_fam LIKE «К»

Пример 8. Из таблицы фамилий Fam сделать выборку и вы­вести на экран все фамилии прописными (большими) буквами.

CLOSE ALL

SET DEFAULT TO E:\Prin\_bd USE Fam IN 5 ALIAS Fam CLEAR

SELECT UPPER(Name_fam) AS 'Список_фамилий' FROM Fa^l



Пример 9- Из таблицы Catalog сделать выборку и вывести на экран наименований книг одного автора (под номером 21 — фамилия Гоголь).

CLOSE ALL

SET DEFAULT TO E:\Prim_bd USE Catalog IN 2 ALIAS Cat

USE Fam IN 5 ALIAS Fam

USE Im IN 7 ALIAS Im

USE Ot IN 10 ALIAS Ot

SET TALK OFF CLEAR SELE Cat

SELECT Kamejoook FROM Catalog С WHERE;

EXISTS (SELECT * FROM Fam F;

WHERE F.Key_fam = C.Xey_fam AND F.Key_farr = 21) Результат работы программы представлен на рис. 11.4.

Пример 10. Добавление новой записи в таблицу Fam. CLOSE ALL

USE Fam USE Im USE Ot SET TALK CLEAR SELE Fam

INSERT INTO Fam (Key_fam, Kame_fam) VALUES(100,

SELECT Fam

BROWSE

Сологуб')

SET DEFAULT TO E:\Prim_bd USE Catalog IN 2 ALIAS Cat IN 5 ALIAS Fax IN 7 ALIAS Im IN 10 ALIAS Ct OFF


Допускается использование краткого формата команды.

CLOSE ALL

SET DEFAULT TO E:\Prim_bd USE Catalog IN 2 ALIAS Cat

USE Fan IN 5 ALIAS Fam

USE Im IN 7 ALIAS Im

USE Ot IN 1C ALIAS Ot

SET TALK OFF CLEAR SELE Fam

INSERT INTO Fam VALUES(101, 'Байрон')

SELECT Fam BROWSE

Результат добавления новых записей представлен на рис. 11.5.


 

Пример 11. В таблице «Fam» заменить фамилию «Гуца- люк» на фамилию «Проскурин*.

CLOSE ALL

SET DEFAULT TO E:\Prim_bd

USE Catalog IN 2 ALIAS Cat

USE Fam IN 5 ALIAS Fam ORDER TAG Name

USE Im IN 7 ALIAS Im

USE Ot IN 10 ALIAS Ot

SET TALK OFF

CLEAR

SSLE Fam

UPDATE Fam SET Name_fam = 'Проскурин';

WHERE Name_fam = ' Гуцалэок'

BROWSE

Если опции WHERE опущена, то замена значения будет про­изведена во всем столбце.

11.6. КОНТРОЛЬНЫЕ ВОПРОСЫ

L Укажите область применения языка запросов SQL.

2. Какие операции надданными можно выполнитьс помощью команд языка запросов SQL?

3. Укажите два варианта создания табличного файла с помощью команды CREATE TABLE.

4- Как задать контроль правильности вводимых значений в поле с помощью команды CREATE TABLE?

5- Как задать значение по умолчанию для поля с помощью команды CREATE TABLE?

Как задать первичный и внешний ключи с помощью команды CRATE TABLE?

Как задать условия ссылочной целостности с помощью команды CREATE TABLE?

9- Укажите команду для добавления записей в табличный файл.

5- Напишите команду SELECT для выборки всех записей из ■таблицы.

10. Напишите команду SELECT для выборки из таблицы записей, удов­летворяющих некоторому условию (условиям).

11. Напишите команду SELECT для выборки всех записей из таблицы, с указанием сортировки по возрастанию (по убыванию) по значени­ям какого-либо поля.

12. Напишите команду SELECT для выборки некоторых полей из раз­ных таблиц, удовлетворяющих некоторым условиям

13. Напишите команду SELECT для выборки всех записей из таблицы, с указанием группировки данных по значениям некоторого поля.


ФУНКЦИИ СУБД

Среда программирования Visual FoxPro предоставляет разработ­чику баз данных широкие возможности по управлению данными. Для облегчения написания программных кодов среда программи­рования Visual FoxPro содержит более двухсот функций различно­го назначения. Использование функций позволяет создать гибкие, простые в упраачении инструменты но обработке данных. Кроме того, предусмотрена возможность создания своих собственных функций, которые можно использовать наравне со стандартными функциями, поместив их в специальные библиотеки.

12.1. МАТЕМАТИЧЕСКИЕ ФУНКЦИИ

Большой набор математических функций позволяет выполнить практически любые вычисления. При необходимости использо­вания специальных разделов математики можно дописать необ­ходимое количество функций для выполнения специальных вычислений.

12.1.1. Вычисление абсолютного значения

ABS(<Bbip. N>)

Функция возвращает абсолютное значение числа, заданного константой или переменной <выр. N>.

Примеры.

SET TALK OFF

? ABs (- 45) && Вывод на экран 45

? ABS(10-30) && Вывод на экран 20

? ABS(30-10) && Вывод на экран 20

STORE 40 ТО peri STORE 2 ТО рег2

• ABs(per2 - peri) && Вывод на экран 38


12.1.2. Проверка на принадлежность интервалу значений

BETWEEN(<Bbip. 1>, <выр. 2>, <выр. 3>)

Функция возвращает значение «истина» (.Т.), если значение <выр. 1> больше или равно <выр. 2>, но меньше или равно <выр. 3>, в противном случае — значение «ложь» (.F.). Все три выражения должны быть либо строками, либо числами, либо датами.

Пример.

CLCSE ALL

SET DEFAULT ТО E:\Prin\_bd

USE Catalog IN 2 INDEX Catalog ALIAS Cat ORDER; J TAG Boot

CLEAR SELE Cat

SCAN FOR BETWEEN(Xey_fc>ook,1,10)

? Key_book, Nane_book && Вывод на экран порядкового

* номера книги и названия.

* книги

EKDSCAN

12.1.3. Получение целого числа, большего или равного аргументу

CEILING(<Bbip. N>)

Функция возвращает целое число, которое больше или равно числовому выражению <выр. N>.

Примеры.

? CEILING (6.3) £с& Выводит на экран 7

? CEILING(-8.4) &Ь Выводит на экран -8

12.1.4. Получение целого числа, меньшего или равного аргументу

FLOOR(<Bbip. N>)

Функция возвращает целое число, которое меньше или равно числовому выражению <выр. NX

Примеры.

S£T TALK OFF

STORE Ю.9 ТО

peri

 

 

 

 

STORE -10.1 ТО

per2

 

 

 

 

CLEAR

 

 

 

 

 

? FLOOR(peri)

& &

Выводит

на

экран

 

? FLOOR(per2)

&&

Выводит

на

экран

-11

? FLOOR(10.0)

&&

Выводит

на

экран

 

? FLOOR(-10.0)

(etc

Выводит

на

экран

-10

12.1.5. Выделение

целой

части числа

 

 

 

INT(<Bbip. N>)

Функция возвращает целую часть чиоа, заданного констан­той или переменной <выр. NX

Пример.

 

INT(18.7)

&&

Выводит

на

экран

 

■?

INT(12.5)

&&

Вызодит

на

экран

 

?

INTJ6.25 *

2) &&

Выводит

на

экран

 

■>

INT(-12.5)

&&

Выводит

на

экран

-12

STORE -12.5 ТО

per

 

 

 

 

j

INT(per)

 

Выводит

на

экран

-12

CLEAR SET TALK


OFF


 

12.1.6. Выбор максимального значения из списка

^АХ(выр.1, выр.2, вырЗ...)

Функция возвращает максимальное значение из заданного РЭДа значений. Все элементы ряда должны иметь один тип дан­ных.


Пример.

CLOSE ALL

SET DEFAULT TO E:\Prinubd

USE Catalog IN 2 INDEX Catalog ALIAS Cat ORDER; ] TAG Book

CLEAR SEL3 Cat CLEAR

Per_Max = 1 £c& Начальное максимальное значение

Per^Min = 100000 && Начальное минимальное значение

SCAN

?er_Min = MIN(Per_Min, Price)

Per_Max = MAX(Per_Max, Price)

ENDSCAN

? 'Минимальная цена одного экземпляра книги: ', Per_Min? 'Максимальная цена одного экземпляра книги: ', PerJ>lax

12.1.7. Выбор минимального значения из списка

М1Ч(<выр. 1>, <выр. 2>, <выр. 3>,...)

Функция возвращает минимальное значение из заданного ря­да значений. Все элементы ряда должны иметь один тип данных. Примером, в п. 12.1.6.

12.1.8. Целочисленный остаток от деления

MOD(<Bbip. Nl>, <выр. N2>)

Функция возвращает остаток отделения <выр. Nl> на <выр. N2> Пример.

CLEAR

 

 

? MOD(36,10)

&&

Выводит на экран 6

? MOD((4*9), (90/9))

&&

Выводит на экран 6

? MOD(25.250,5.0)

&&

Выводит на экран 0.250

? IIF(MOD(YEAR(DATE<)),

4) =0,

' Текущий год високосный'.

'Текущий год не високосный')


 

12.1.9. Округление с заданной точностью

ROUND(<Bbip, М>, <вьф. N2>)

функция возвращает округленное значение <выр. Nl> с точ­ностью <выр. N2> знаков после запятой

Пример.

SET DECIMALS ТО 4

SET FIXED ON && Установить вывод на экран

* указанное выпе количество

* разрядоз дробной части числа CLEAR


 


? ROUND(1234.1962, 3) &&? ROUND(1234 1962, 2) &&? ROUND(1234.1962, 0) &&? ROUND(1234.1962, -1)&&? ROUND(1234.1962. -2)&&? ROUND(1234.1962, -3)&b

Выводит на экран 1234.1960 Выводи*7’ на экран 1234.2000 Выводи*” на экран 1234.0000 Выводит на экран 1230.0000 Выводит на экран 1200.0000 Вызодит на экран 1000.0000


 


SET FIXED OFF && Восстановить вывод на экран

указанное по умолчанию количество разрядов дробной части числа.

12.1. Ю. Генератор псевдослучайных чисел от 0 до 1

RAND(<»up. N>)

По умолчанию используется число 100001. Наилучший ре­зультат даст задание отрицательного начального числа. Для реа­лизации равномерного закона распределения можно использо- ^ть формулу:

,(b - a)*RAND() + а — для вещественных чисел в диапазоне а - Ь; lN,T((j_i + i)*RAND() + i) — для целых чисел в диапазоне i — j.


Пример.

CLOSE ALL

SET DEFAULT TO E:\Prim_bd

USE Catalog IN 2INDEX Catalog ALIAS Cat ORDER TAG Bookj CLEAR SELE Cat

SET DECIMALS TO 4

SET FIXED ON && Установить вывод ка экран

* указанное выше количество

* разрядов дробной части числа J

FOR i = 1 ТО 10 && Добавить десять записей

APPEND BLANK

&& Назначить случайным образок начальную цену одного}]

* экземпляра книги

REPLACE Price WITH 1 + 100 * RAND(), Key_book;

WITH 100 «■ i SNDFOR

12.1.11. Определение знака числа

SlGN(<BUp. N>)

Функция возвращает I, если число положительное. Функция возвращает -1, если число отрицательное. Функция возвращает 0, если число равно нулю.

Пример.

STORE 10 ТО Numl STORE -10 ТО Num2 STORE 0 ТО Per_Zero CLEAR

-1

? SIGN (Numl) USc Выводит на экран

? SIGN(Num2) && Выводит на экран

? SIGN (Per_Zero) && Выводит на экран

12.1.12. Экспонента

ЕХР(<выр. N>)

функция возвращает основание натурачьного логарифма, возведенное в степень <выр. N>.

Пример.

? ЕХР(О) £г£г Выводит ча экран 1.0000

? ЕХ?(1) && Зыводит на экран 2.7183

12.1.13. Натуральный логарифм

ШС(<выр. N>)

Функция возвращает значение натурального логарифма от аргумента < выр. М>, но аргумент должен быть больше 0.

Пример.

CLEAR

SET TALK OFF

? LOG(1) &£t Выводит на экран С.0000

STORE EXP(2) TO peri

? LOG (peri) £c£c Зыводит на экран 2.0000

12.1.14. Десятичный логарифм

1Х)С10(<выр. N>)

Функция возвращает значение десятичного логарифма от ар­гумента <выр. N>, но аргумент должен быть больше 0.

Пример.

CLEAR

SET TALK OFF

? LOG10(10) && Выводит на экран 1.0000

STORE 100 TO peri

• LOGlO(perl) && Выводит на экран 2.0000

? LOG10(рег1Л2) && Выводит на экран 4.0000

12.1.15. Извлечение квадратного корня

SQRT(<Bbip. N>)

Функция возвращает значение квадратного корня от аргу­мента <выр. N>, но аргумент должен быть положительным.

Пример.

CLEAR

? SQRT{4) && Выводит на экран 2.0000

? SQRT(2*SQRT(2))&& Выводит на экран 1.6818

12.1.16. Вычисление синуса

81Н(<выр. N>)

Функция возвращает значение синуса от аргумента <выр. N>, но аргумент задается в радианах.

Пример.

CLEAR

? STN(O) && Выводит на экран 0.00

? SIN(PI()/2) && Выводит на экран 1.00

? SIN(DTOR(90)) &tc Выводит на экран 1.00

12.1.17. Вычисление косинуса

COS(<Bup. N>)

Функция возвращает значение косинуса от аргумента <Bup.N>, но аргумент задается в радианах.

Пример.

CLEAR

SET TALK OFF

 

COS(O)

&&

Выводит

на

экран

1.00

•J

COS (Pin)

 

Выводит

на

экран

-1.00

■>

COS(DTOR(180))

 

Выводит

на

экран

-1.00

STORE PI() * 3 TO peri

 

 

 

 

 

COS(peri)

 

Выводит

на

экран

-1.00


 

12.1-18. Вычисление arcsin

ASlN(<Bbip. N>)

Функция возвращает значение арксинуса от аргумента <выр.ГЧ>, но аргумент задается от 1 до —1. Результат в пределах от 1.57079 до-1.57079.

Пример.

CLEAR

SET TALK OFF

на экран С.00

на экран 90.00 на экран 45.00

? RTOD(ASIN(0)) && Выводит

STORE 1 TO peri? RTOD(ASIN(perl)) && Выводит

? RTOD(ASIN(SQRT(2)/2)) Выводит

12.1.19. Вычисление arctg

ATAN(<eup. N>)

Функция возвращает значение арктангенса от аргумента <выр.1Ч> Аргумент может быть любым. Результат в радианах в диапазоне от—1.57079 до 1.57079.

Пример.

CLEAR

 

Выводит

На

экран

0.00

peri

 

 

 

 

&&

Выводит

на

экран

1.00

&&

Выводит

на

экран

1.00

&&

Выводит

на

экран

1.00

SET TALK OFF? ATAN(0)

STORE PI()/2 TO? ATAN(peri)

? ATAN(PI()/2)

? ATAN(DTOR(90))

12.1.20. Вычисление тангенса

TAN(<Bup. N>)

r

Функция возвращает значение тангенса угла. <выр. N> зада­йся в радианах.


12.1.20. Вычисление арккотангенса

АТГЧ2(<выр. Nl>, <иыр. N2>)

Функция возвращает значение арктангенса от аргументов <выр. N 1> и <выр. N2>. Здесь аргументы — координаты точки на плоскости: <выр. N 1> -> Y, <выр. N2> -> X

Пример.

SET TALK OFF

CLEAR

SELE Cat

? PI() && Выводит на экран 3.14

? ATK2(0,-1) && Выводит на экран 3.14

STORE COS(PI() I TO peri STORE SIN (PI ()) TO per2

? ATN2(per2,perl) && Выводит на экран 3.14

? ATN2(per2,perl)/PI()

&& Выводит на экран 1.00

12.1.21. Числовое значение pi РЮ

Функция возвращает значение 3.141592 Примеры см. в п. 12.1.19—12.1.21.

12.1.22. Преобразование градусов в радианы

RTOD(<Bwp. N>)

Для увеличения разрядности (по умолчанию N = 2), то есть точности вычислений используют две команды (в паре):

SET FIXED ON && (по умолчанию OFF)

SET DECIMALS TO <выр. N>

<выр. N> — определяет количество разрядов после запятой. Эти две команды влияют только на отображение на экране, а в опера­тивной памяти точность максимальна [12].

Пример.

CLEAR

? RTOD(ACOS(0)) && Выводит на экран 90.СО

STORE -1 ТО peri

? RTOD(ACOS(peri)) && Выводит на экран 80.00

? RTOD(ACOS(SQRT(2)/2)} && Вызодит на экран 45.00

12.2. СТРОКОВЫЕ ФУНКЦИИ

При работе с базами данных важное значение имеет обработка строковых выражений. Для упрощения работы со строками пре­дусмотрено большое количество строковых функций различного назначения. С помощью строковых функций выполняется поиск символа (или символов) в строке данных, определение позиции символа в строке, определение наличия символа в строке и т. д. Для удобства работы со строковыми функциями они разделены на категории.

12.2.1. Функции анализа

12.2.1.1. Наличие вхождения

<выр. С1>$<выр. С2>

Если <вырС1> содержится внутри <вырС2>, то возвращается значение «истина» (.Т.), в противном случае — значение «ложь» (F.).

Пример.

? 'база'$'база данных* && Выводит на экран.Т.

12.2.1.2. Поиск по строке слева направо

АТ]АТС(<выр. С1>, <выр. С2>, <выр. N>)

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

Примеры.

7 АТ('база','база данных') && Выводит на экран 1

7 АТ('а','база данных') && Выводит на экран 2

7 АТ ('а','база данных',3) && Выводит на экран 7

Команда АТ() различает большие и маленькие буквы, а АТСО — различия не делает.

12.2.1.3. Поиск по строке справа налево

RAT(<Bbip. С1>, <выр. С2>, <выр. N>)

Эта команда осуществляет поиск в строке <выр.С2> справа налево, но позицию вхождения дает слева направо.

Пример.

SET TALK OFF

CLEAR

SELE Cat

STORE 'abracadabra' TO string STORE 'a' TO find_str

? RATffind^str,string) && Выводит на экран 11 7 RAT(find_str,string,3) && Выводит на экран 6

12.2.1.4. Поиск выражения в списке

INLIST(<Bup>, <выр. 1>, <выр. 2>,...)

Функция возвращает значение «истина» (.Т.), если <выр> со­держится в списке <выр. 1>, <выр. 2>, и т. д. Все выражения дол­жны быть одного типа: либо строки, либо числа, либо даты.

Пример.

SET TALK ON

STORE CMONTH(DATE()) TO Per_Mes DO CASE

CASE INLIST(Per_Mes,'Январь','Февраль','Март') STORE 'Kvart_l' TO peri CASE INLIST(Per_Mes,'Апрель','Май','Июнь')

STORE ' Kvart_2' TO peri

CASE INLIST(Perjfles,'Июль','Август','Сентябрь') STORE 'Kvart_3' ТО peri OTHERWISE

STORE 'Kvart_4' TO peri

ENDCASE

WAIT WINDOW peri &£c Зыводит з спец. окно номер

квартала - Kvart_N

12.2.1.5. Проверка на цифру

ISDIGlT(<Bup. О)

Если первый символ <выр. О цифра, то функция возвраща­ет значение «истина» (.Т.).

Пример.

CLOSE ALL

SET DEFAULT TO E:\Prim_bd

USE Catalog IN 2 INDEX Catalog ALIAS Cat ORDER;

TAG Book SET TALK OFF CLEAR SELE cat

display Name_book

? lSDIGIT(Name_Jx>ok) && Выводит на экран.F.

DISPLAY Key_book

? ISDIGIT(ALLTRIM(STR(Key_book)))&£c Выводит на экран.Т.

12.2.1.6. Подсчет числа символов LEN(<Bbip. О)

Функция возвращает количество символов в <выр. О. Пример.

? 1>ЕЫ('база данных') Выводит на экран 11

12.2.1.7. Определение вхождения

1ЛКЕ(<выр. С1>, <выр. С2>)

Функция возвращает значение «истина* (.Т.), если <выр. С1> входит в <выр. С2>. Для <выр. С1> допускается использование шаблона (символы * и?). Функция удобна дпя поиска по базе но неполному ключу.

Пример.

CLOSE ALL

SET DEFAULT TO E:\Prim_bd

USE Catalog IN 2 INDEX Catalog ALIAS Cat ORDER TAG Book-] SET TALK OFF CLEAR SELS Cat

? 'Вывести на экран названия всех книг, названия 'которых начинаются с символов Пов* ‘

SCAN FOR LIKE('Пов*', Name_book)

? Kame_book ENDSCAN

12.2.1.8. Определение количества вхождений

OCCURS(<Bbip. С1>, <выр. С2>)

Функция возвращает число, обозначающее, сколько раз <выр. С1> входит в <выр. С2>.

Пример.

? OCCURS('а','база данных') && Выводит на экран 3|

12.2.2. Функции выделения

12.2.2.1. Ввделение начала строки

ШТ(<выр. О, <выр. N>)

Выделение из <выр. О первых <выр. N> символов. ЕслМ <выр. N> длиннее <выр. О, то выделяется <выр. О целиком.

Пример.

? LEFT('база данных',4) && Вьзодит на экран «база»

12.2.2.2. Выделение конца строки

ИСНТ<<выр. О, <выр. N>)

Выделяет из строки <выр. О последние <выр. N> симво­лов.

Пример.

? RIGHT('база данных',6) Выводит на экран «данных»

12.2.2.3. Выделение произвольной подстроки

SUBSTR(<Bbip. 0,<вач. позиция>, <число символов>)

Выделяет из строки <выр. С> подстроку, начиная с <нач. позиция>, длиной в <число символов>.


Дата добавления: 2015-09-29; просмотров: 14 | Нарушение авторских прав







mybiblioteka.su - 2015-2024 год. (0.097 сек.)







<== предыдущая лекция | следующая лекция ==>