Создание приложений для работы с базами данных в сети_____________547

C++Builder с SQL, позволяет создавать вычисляемые поля и с помощью обработчи-
ка события OnCalcFields.

Приведем пример использования выражения:

SELECT Fam, Nam, (1999-Year_b) AS Age FROM Pers

Этот оператор создает поле Age, вычисляемое по формуле (1999-Year_b).
Вы можете улучшить отображение результатов работы этого оператора, изме-
нив его следующим образом:

SELECT Fam AS Фамилия, Nam AS Имя, (1999-Year b) AS Возраст FROM Pers

Если вы запишете этот оператор в вашем тестовом приложении, то увидите,
что в заголовках таблицы появились осмысленные русские заголовки:

Фамилия	Имя	Возраст |
Иванов	Иван	48
Петров	Петр	38


Если вы не вводите псевдоним для выражения, то в заголовке соответствующе-
го столбца будет записано само выражение. Например, если вы напишете оператор

SELECT Fam AS Фамилия, Nam AS Имя, (1999-Year_b) FROM Pers

то в приведенной выше таблице результатов вместо заголовка «Возраст» будет на-
писано «1999-Year_b».

Синтаксис ряда систем не требует для введения псевдонима ключевого слова
As. Например, попробуйте написать приведенный ранее оператор в виде

SELECT Fam Фамилия, Nam Имя, (1999-Year b) Возраст FROM Pers

и вы получите тот же самый результат, что и при использовании As.

Надо иметь в виду, что с русскими текстами в операторах SQL могут возни-
кать неприятности. Некоторые символы могут восприниматься неверно и приво-
дить якобы к синтаксическим ошибкам. Например, часто неверно воспринимается
символ «ч». Впрочем, позднее, при рассмотрении компонента Query вы увидите,
что эффекта получения русских заголовков можно добиться и другими способами,
не вводя русских обозначений в оператор Select.

Теперь рассмотрим форму представления условия отбора, задаваемого после
ключевого слова WHERE. Это условие определяет критерий, по которому отбира-
ются записи. Оператор Select отбирает только те записи, в которых заданное усло-
вие истинно. Условие может включать имена полей (кроме вычисляемых^. кон-
станты, логические выражения, содержащие арифметические операции, логиче-
ские операции and, or, not и операции отношения:

= равно

> больше

>= больше или равно

< меньше

<= меньше или равно

!= не равно

Like наличие заданной последовательности символов

between ... and диапазон значений

in соответствие элементу множества

18*