Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VisualFoxPro.doc
Скачиваний:
15
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

Данные таблицы Test.Dbf

TestDate

TestFloat

TestCrncy

01/01/04

1.300

600.0000

01/01/04

2.400

600.0000

01/01/04

3.500

600.0000

11/16/04

1.400

100.0000

11/16/04

2.500

200.0000

11/16/04

3.600

300.0000

12/27/04

1.200

400.0000

12/27/04

2.300

500.0000

12/27/04

3.400

500.0000

12/27/04

4.500

500.0000

select Test

&& Создаем индекс с ключевым выражением DTOS(TestDate)

index on Dtos(TestDate) to d:\TestDate

&& Вычисляем итоги по полю TestDate

total to d:\TableOfTotals on TestDate fields TestDate, TestFloat, TestCrncy

&& Просмотр результатов

use d:\TableOfTotals in 0

select TableOfTotals

browse fields TestDate, TestFloat, TestCrncy

Данные таблицы с итогами приведены в табл. 3.16.

Таблица 3.16

Таблица TableOfTotals: итоги по полю TestDate

TestDate

TestFloat

TestCrncy

01/01/04

7.200

1800.0000

11/16/04

7.500

600.0000

12/27/04

11.400

1900.0000

Замечание. Тот же результат получается, если на месте FieldName употребить DTOS(TestDate).

total to d:\tableOfTotals on Dtos(TestDate) fields TestDate, TestFloat, TestCrncy

Также успешно на месте FieldName могут быть употреблены и более сложные ключевые выражения, например:

select Test

&& Создаем индекс с ключевым выражением

&& DTOS(TestDate) + TRANSFORM(TestInt),

&& в котором TestDate и TestInt – поля таблицы Test.dbf

index on Dtos(TestDate) + Transform(TestInt) to d:\TestDate

&& Вычисляем итоги по ключевому выражению

total to d:\TableOfTotals on Dtos(TestDate) + Transform(TestInt)

fields TestDate, TestFloat, TestCrncy

3.3. Битовые функции

Битовые функции оперируют параметрами типа Numeric или Varbinary, или Blob. Если параметр типа Numeric не является целым, то он преобразовывается в целую величину.

В двоичном (битовом) представлении целое число состоит из нулей и единиц, например на 4-х битах число 3 – это 0011, число 6 – это 0110.

Биты нумеруются справа налево. Наименьший бит имеет номер 0.

При выполнении битовой операции op, где op – это AND, OR или XOR, над операндами nExpr1 и nExpr2 эта операция выполняется побитно. Результаты операций для двух битов описаны в табл. 3.17.

Таблица 3.17

Результаты битовых операций

Бит операнда nExpr1

Бит операнда nExpr2

Результат операции

AND

OR

XOR

0

0

0

0

0

0

1

0

1

1

1

1

1

1

0

1

0

0

1

1

В случае параметра типа Varbinary или Blob каждый байт представляется двумя литералами, нумерация байт выполняется слева направо, но внутри каждого байта биты нумеруются справа налево.

Битовые функции, приведенные в табл. 3.18, имеют 2 варианта синтаксиса: с числовыми и двоичными выражениями.

Таблица 3.18

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]