Создание запросов SQL. Сравнение ANSI и Jet SQL.
Эквивалентные типы данных Jet SQL и ANSI SQL
В табл. 8.6 перечислены типы данных ANSI SQL, эквивалентные им типы данных языка Jet SQL и допустимые синонимы.
Таблица 8.6. Эквивалентные типы данных Jet SQL и ANSI SOL.
Типы данных ANSI SQL | Типы данных Jet SQL | Синоним | Примечание |
---|---|---|---|
BIT, BIT VARYING | BINARY | VARBINARY, BINARY VARYING BIT VARYING | Не является стандартным типом данных Access |
Не поддерживается | BIT | BOOLEAN, LOGICAL, LOGICAL1, YESNO | В Access эквивалентно типу данных Логический |
Не поддерживается | TINYINT | INTEGER1, BYTE | Целое число длиной 1 байт |
Не поддерживается | COUNTER | AUTOINCREMENT | |
Не поддерживается | MONEY | CURRENCY | В Access эквивалентно типу данных Денежный |
DATE, TIME, TIMESTAMP | DATETIME | DATE, TIME | В Access эквивалентно типу данных Дата/Время |
Не поддерживается | UNIQUEIDEN TIFIER | QUID | |
DECIMAL | DECIMAL | NUMERIC, DEC | |
REAL | REAL | SINGLE, FLOAT4, IEEESINGLE | Тип данных Числовой (с плавающей точкой, 4 байта) |
DOUBLE PRECISION, FLOAT | FLOAT | DOUBLE, FLOATS, IEEEDOUBLE, NUMBER | Тип данных Числовой (с плавающей точкой, 8 байтов) |
SMALLINT | SMALLINT | SHORT, INTEGER2 | Тип данных Числовой (2 байта) |
INTEGER | INTEGER | LONG, INT, INTEGER4 | Тип данных Числовой (длинное целое) |
INTERVAL | Не поддерживается | ||
Не поддерживается | IMAGE | LONGBINARY, GENERAL, OLEOBJECT | Тип данных поля объекта OLE |
Не поддерживается | TEXT | LONGTEXT, LONGCHAR, MEMO, NOTE, NTEXT | Тип данных Поле Memo |
CHARACTER, CHARACTER VARYING, NATIONAL CHARACTER, NATIONAL CHARACTER VARYING | CHAR | TEXT(n), ALPHANUMERIC, CHARACTER, STRING, VARCHAR, CHARACTER VARYING, NCHAR, NATIONAL CHARACTER, NATIONAL CHAR, NATIONAL CHARACTER VARYING, NATIONAL CHAR VARYING | Тип данных Текстовый |
Реализация SQL процессора Jet 4.x имеет существенные отличия в типах данных от предыдущей версии Jet SQL, а именно:
- тип TIMESTAMP теперь не является синонимом типа DATETIME;
- тип NUMERIC теперь используется как синоним типа DECIMAL, а не FLOAT или DOUBLE, как это было раньше;
- поля типа LONGTEXT и CHAR всегда хранятся в формате представления знаков Unicode, который эквивалентен такому типу данных ANSI SQL, как NATIONAL CHAR;
- если имя типа данных TEXT используется без указания необязательной длины, то создается поле типа LONGTEXT. В результате появляется возможность применять инструкции CREATE TABLE для создания типов данных, совместимых с Microsoft SQL Server;
- если имя типа данных TEXT используется с указанием необязательной длины, например TEXT(25), то тип данных соответствующего поля будет эквивалентен типу CHAR. В результате сохраняется обратная совместимость с большинством приложений, использующих процессор Microsoft Jet, а также согласованность типа данных TEXT (без указания длины) с Microsoft SQL Server;
- тип данных BIT стандарта ANSI SQL не соответствует типу данных BIT языка Jet SQL. Он совпадает с типом данных BINARY. Для типа данных BIT языка Jet SQL нет эквивалентного типа в ANSI SQL.