Соответствие SQL - SQL compliance

ФункцияОписаниеЖар-птицаIBM DB2База данных OracleMicrosoft SQLMySQLPostgreSQLSQLiteApache IgniteMimer SQL
E011Числовые типы данныхЧастичноедадаНеизвестноНеизвестнодаНеизвестноЧастичноеда
E011-01Типы данных INTEGER и SMALLINT (включая все варианты написания)дададаНеизвестнодадаНеизвестнодада
E011-02Типы данных REAL, DOUBLE PRECISION и FLOATдададаНеизвестноНеизвестнодаНеизвестнодада
E011-03Типы данных DECIMAL и NUMERICЧастичноедадаНеизвестноНеизвестнодаНеизвестноЧастичноеда
E011-04Арифметические операторыдададаНеизвестноНеизвестнодаНеизвестноЧастичноеда
E011-05Числовое сравнениедададаНеизвестноНеизвестнодаНеизвестнодада
E011-06Неявное приведение числовых типов данныхдададаНеизвестноНеизвестнодаНеизвестнодада
E021Типы символьных строкдадаЧастичноеЧастичноеНеизвестноЧастичноеНеизвестноЧастичноеда
E021-01Тип данных CHARACTER (включая все его варианты написания)дададаНеизвестноНеизвестнодаНеизвестноЧастичноеда
E021-02CHARACTER VARYING тип данных (включая все его варианты написания)дадаЧастичноеНеизвестноНеизвестнодаНеизвестноЧастичноеда
E021-03Символьные литералыдадаЧастичноеНеизвестноНеизвестнодаНеизвестнодада
E021-04CHARACTER_LENGTH функциядада[примечание 1]НетНеизвестнодаЧастичное[заметка 2]Нетдада
E021-05OCTET_LENGTH функциядадаНетНеизвестнодадаНет[заметка 3]дада
E021-06ПОДСТРОКА функциядадаНетдададаНетдада
E021-07Объединение символовдададаНеизвестноНеизвестнодаНеизвестнодада
E021-08ВЕРХНИЙ и НИЖНИЙ функциидадададададададада
E021-09Функция ОБРЕЗАТЬдададаНет[примечание 4][1]дадададада
E021-10Неявное приведение типов символьных строк фиксированной и переменной длиныдададаНеизвестноНеизвестнодаНеизвестнодада
E021-11ПОЛОЖЕНИЕ функциядадаНет[примечание 5]Нет[примечание 6][2]дадаНетдада
E021-12Сравнение персонажейдадаЧастичноеНеизвестноНеизвестнодаНеизвестнодада
E031ИдентификаторыдадаЧастичноеНеизвестноНеизвестнодаНеизвестнодада
E031-01Идентификаторы с разделителямидадаНеизвестноНеизвестноНеизвестнодаНеизвестнодада
E031-02Идентификаторы нижнего регистрададаНеизвестноНеизвестноНеизвестнодаНеизвестнодада
E031-03Завершающее подчеркиваниедадаНеизвестноНеизвестноНеизвестнодаНеизвестнодада
E051Базовая спецификация запросаЧастичноедаЧастичноеНеизвестноЧастичноедаНеизвестноЧастичноеда
E051-01ВЫБРАТЬ ОТЛИЧИТЕЛЬНЫЙдадададададададада
E051-02Предложение GROUP BYдададададададаЧастичноеда
E051-04GROUP BY может содержать столбцы не в дададаНеизвестноНетдаНеизвестнодада
E051-05Элементы списка выбора можно переименоватьдадададададаНеизвестнодада
E051-06Пункт HAVINGдадададададаНеизвестнодада
E051-07Квалифицирован * в списке выборадададаНеизвестноНеизвестнодаНеизвестнодада
E051-08Имена корреляций в предложении FROMдадаЧастичноеНеизвестноНеизвестнодаНеизвестнодада
E051-09Переименовать столбцы в предложении FROMНетдаНеизвестноНеизвестноНеизвестнодаНеизвестноНетда
E061Основные предикаты и условия поискадаЧастичноеЧастичноеНеизвестноНеизвестнодаНеизвестноЧастичноеда
E061-01Предикат сравнениядадаЧастичноеНеизвестноНеизвестнодаНеизвестнодада
E061-02BETWEEN предикатдадаЧастичноедададаНеизвестнодада
E061-03Предикат IN со списком значенийдадаЧастичноедададаНеизвестнодада
E061-04LIKE предикатдадаЧастичноедададаНеизвестноЧастичноеда
E061-05Предикат LIKE: предложение ESCAPEдадаЧастичноеНеизвестноНеизвестнодаНеизвестноЧастичноеда
E061-06NULL предикатдадаЧастичноеНеизвестноНеизвестнодаНеизвестнодада
E061-07Предикат количественного сравнениядадаЧастичноеНеизвестноНеизвестнодаНеизвестноЧастичноеда
E061-08Предикат EXISTSдадаЧастичноедададаНеизвестнодада
E061-09Подзапросы в предикате сравнениядадаЧастичноеНеизвестноНеизвестнодаНеизвестнодада
E061-11Подзапросы в предикате INдадаЧастичноедададаНеизвестнодада
E061-12Подзапросы в количественном предикате сравнениядадаЧастичноеНеизвестноНеизвестнодаНеизвестноНетда
E061-13Коррелированные подзапросыдадаЧастичноедаНеизвестнодаНеизвестнодада
E061-14Условия поискадаЧастичное[примечание 7]ЧастичноеНеизвестноНеизвестнодаНеизвестнодада
E071Основные выражения запросаЧастичноедаЧастичноеНеизвестноНеизвестнодаНеизвестнодада
E071-01Оператор таблицы UNION DISTINCTдада[примечание 8]даНеизвестноНеизвестнодаНеизвестнодада
E071-02Оператор таблицы UNION ALLдадададададаНеизвестнодада
E071-03EXCEPT DISTINCT table operatorНетда[примечание 8]Нет[примечание 9]НеизвестноНеизвестнодаНеизвестнодада
E071-05Столбцы, объединенные с помощью операторов таблицы, не обязательно должны иметь одинаковый тип данных.дадададаНеизвестнодаНеизвестнодада
E071-06Табличные операторы в подзапросахдададаНеизвестноНеизвестнодаНеизвестнодада
E081Основные привилегиидадаЧастичноеНеизвестноНеизвестнодаНеизвестноНеизвестнода
E081-01Привилегия SELECT на уровне таблицыдададаНеизвестноНеизвестнодаНеизвестноНеизвестнода
E081-02УДАЛИТЬ привилегиюдададаНеизвестноНеизвестнодаНеизвестноНеизвестнода
E081-03Привилегия INSERT на уровне таблицыдададаНеизвестноНеизвестнодаНеизвестноНеизвестнода
E081-04Право UPDATE на уровне таблицыдададаНеизвестноНеизвестнодаНеизвестноНеизвестнода
E081-05UPDATE привилегия на уровне столбцадададаНеизвестноНеизвестнодаНеизвестноНеизвестнода
E081-06REFERENCES привилегия на уровне таблицыдададаНеизвестноНеизвестнодаНеизвестноНеизвестнода
E081-07REFERENCES привилегия на уровне столбцадададаНеизвестноНеизвестнодаНеизвестноНеизвестнода
E081-08С ОПЦИЕЙ ГРАНТАдададаНеизвестноНеизвестнодаНеизвестноНеизвестнода
E081-09ИСПОЛЬЗОВАНИЕ привилегиядадаНетНеизвестноНеизвестнодаНеизвестноНеизвестнода
E081-10EXECUTE привилегиядададаНеизвестноНеизвестнодаНеизвестноНеизвестнода
E091Установить функциидададаНеизвестноНеизвестнодаНеизвестноЧастичноеда
E091-01AVGдадададададададада
E091-02СЧИТАТЬдадададададададада
E091-03МАКСИМУМдадададададададада
E091-04MINдадададададададада
E091-05СУММдадададададададада
E091-06ВСЕ квантификатордададаНеизвестноНеизвестнодаНеизвестнодада
E091-07Квантификатор DISTINCTдадададададаНеизвестнодада
E101Основные операции с даннымидададаНеизвестноНеизвестнодаЧастичноеЧастичноеда
E101-01INSERT заявлениедадададададаНеизвестноЧастичноеда
E101-03Поисковый запрос UPDATEдададаНеизвестноНеизвестнодаНеизвестнодада
E101-04Выполняется поиск по запросу DELETEдададаНеизвестноНеизвестнодаНеизвестнодада
E111Оператор SELECT для одной строкидададаНеизвестноНеизвестнодаНеизвестноНеизвестнода
E121Базовая поддержка курсораЧастичноедаЧастичноеНеизвестноНеизвестнодаЧастичноеНетда
E121-01ОБЪЯВЛЕНИЕ КУРСОРАдадаЧастичноеНеизвестноНеизвестнодаНетНетда
E121-02Столбцы ORDER BY не обязательно должны быть в списке выборададададададада[примечание 10]Нетда
E121-03Выражения значений в предложении ORDER BYдадададададаНеизвестноНетда
E121-04ОТКРЫТОЕ заявлениедададаНеизвестноНеизвестнодаНеизвестноНетда
E121-06Позиционированный оператор UPDATEдададаНеизвестноНеизвестнодаНеизвестноНетда
E121-07Позиционированный оператор DELETEдададаНеизвестноНеизвестнодаНеизвестноНетда
E121-08ЗАКРЫТЬ заявлениедададаНеизвестноНеизвестнодаНеизвестноНетда
E121-10Оператор FETCH: неявный NEXTдадаЧастичноеНеизвестноНеизвестнодаНеизвестноНетда
E121-17С курсорами HOLDНетдаНеизвестноНеизвестноНеизвестнодаНеизвестноНетда
E131Поддержка нулевого значения (нули вместо значений)дадаНеизвестнодададаНеизвестнодада
E141Основные ограничения целостностиЧастичноедадаНеизвестноНеизвестнодаЧастичноеЧастичноеда
E141-01NOT NULL ограничениядадададададададада
E141-02UNIQUE ограничения столбцов NOT NULLдададаНеизвестноНеизвестнодадаНетда
E141-03PRIMARY KEY ограничениядадададададада[примечание 11]Частичноеда
E141-04Базовое ограничение FOREIGN KEY со значением по умолчанию NO ACTION как для действия ссылочного удаления, так и для действия ссылочного обновлениядададаНеизвестноНеизвестнодаНеизвестноНетда
E141-06ПРОВЕРИТЬ ограничениядададаНеизвестноНеизвестнодаНеизвестноНетда
E141-07Параметры столбца по умолчаниюдадададададаНеизвестноНетда
E141-08NOT NULL, выведенный для ПЕРВИЧНОГО КЛЮЧАдададаНеизвестноНеизвестнодаЧастичное[примечание 12]Частичноеда
E141-10Имена во внешнем ключе можно указывать в любом порядкеНетдадаНеизвестноНеизвестнодаНеизвестноНетда
E151Сопровождение сделкиЧастичноеЧастичноедадаНеизвестнодаЧастичноеНетда
E151-01Заявление COMMITдадададаНеизвестнодадаНетда
E151-02Заявление ROLLBACKдадададаНеизвестнодадаНетда
E152Базовая инструкция SET TRANSACTIONЧастичноедадаНеизвестноНеизвестнодаНетНетда
E152-01Оператор SET TRANSACTION: предложение ISOLATION LEVEL SERIALIZABLEНетЧастичное[примечание 13]даНеизвестноНеизвестнодаНеизвестноНетда
E152-02Оператор SET TRANSACTION: предложения READ ONLY и READ WRITEдаНетдаНеизвестноНеизвестнодаНеизвестноНетда
E *ДругойЧастичноеЧастичноеЧастичноеНеизвестноНеизвестноЧастичноеНеизвестноНеизвестнода
E153Обновляемые запросы с подзапросамидададаНеизвестноНеизвестнодаНеизвестнодада
E161Комментарии SQL с использованием ведущего двойного минусададададададададада
E171Поддержка SQLSTATEЧастичноедадаНеизвестноНеизвестнодаНеизвестноЧастичноеда
E182Привязка основного языка (ранее "Язык модуля")НетЧастичное[примечание 14]НеизвестноНеизвестноНеизвестноНетНеизвестноНетда
F021Базовая информационная схемаНетЧастичноеНетдада[примечание 15]даНетНетда
F021-01КОЛОНКИ просмотрНетЧастичное[примечание 16]Нетдада[примечание 17]даНет[примечание 18]Нетда
F021-02ТАБЛИЦЫ просмотрНетЧастичное[примечание 16]Нетдада[примечание 17]даНет[примечание 18]Нетда
F021-03ПРОСМОТРЫ просмотрНетЧастичное[примечание 16]Нетдада[примечание 17]даНет[примечание 18]Нетда
F021-04TABLE_CONSTRAINTS просмотрНетЧастичное[примечание 16]НетдададаНетНетда
F021-05REFERENTIAL_CONSTRAINTS просмотрНетЧастичное[примечание 16]НетдададаНетНетда
F021-06Просмотр CHECK_CONSTRAINTSНетЧастичное[примечание 16]НетдададаНетНетда
F031Основные манипуляции со схемойЧастичноеЧастичноеЧастичноеНеизвестноНеизвестнодаЧастичноеЧастичноеда
F031-01Оператор CREATE TABLE для создания постоянных базовых таблицдадададададаНеизвестнодада
F031-02CREATE VIEW заявлениедадададаНеизвестнодадаНетда
F031-03Заявление GRANTдададаНеизвестноНеизвестнодаНетНетда
F031-04Оператор ALTER TABLE: предложение ADD COLUMNдадаНеизвестноНеизвестнодадаНеизвестнодада
F031-13Оператор DROP TABLE: предложение RESTRICTЧастичноедаНетНеизвестноНеизвестнодаНеизвестноНетда
F031-16Оператор DROP VIEW: предложение RESTRICTНеизвестнодаНетНеизвестноНеизвестнодаНеизвестноНетда
F031-19Оператор REVOKE: предложение RESTRICTЧастичноеНетНетНеизвестноНеизвестнодаНеизвестноНетда
F041Базовый соединенный столдададаНеизвестноНеизвестнодаЧастичноедада
F041-01Внутреннее соединение (но не обязательно ключевое слово INNER)дадададададададада
F041-02INNER ключевое словодадададададададада
F041-03ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕдадададададададада
F041-04ПРАВО НАРУЖНОЕ СОЕДИНЕНИЕдадададададаНетдада
F041-05Внешние соединения могут быть вложеннымидададаНеизвестноНеизвестнодаНеизвестнодада
F041-07Внутренняя таблица в левом или правом внешнем соединении также может использоваться во внутреннем соединении.дададаНеизвестноНеизвестнодаНеизвестнодада
F041-08Поддерживаются все операторы сравнения (а не просто =)дададаНеизвестноНеизвестнодаНеизвестнодада
F051Базовая дата и времяЧастичноеЧастичноедаНеизвестноНеизвестнодаЧастичноеЧастичноеда
F051-01Тип данных DATE (включая поддержку литерала DATE)дададаНеизвестнодадаНеизвестноЧастичноеда
F051-02Тип данных TIME (включая поддержку литерала TIME) с точностью до долей секунд не менее 0дадаНетНеизвестноНеизвестнодаНеизвестноЧастичноеда
F051-03Тип данных TIMESTAMP (включая поддержку литерала TIMESTAMP) с точностью до долей секунд от 0 до 6дададаНеизвестноНеизвестнодаНеизвестноЧастичноеда
F051-04Предикат сравнения для типов данных DATE, TIME и TIMESTAMPдададаНеизвестноНеизвестнодаНеизвестнодада
F051-05Явный CAST между типами datetime и типами символьных строкдададаНеизвестноНеизвестнодаЧастичноедада
F051-06ТЕКУЩАЯ ДАТАдададаНеизвестнодадададада
F051-07МЕСТНОЕ ВРЕМЯЧастичноеНетНетНеизвестнодадаНетдада
F051-08LOCALTIMESTAMPЧастичноеНетдаНеизвестнодадаНетдада
F081UNION и EXCEPT в просмотрахЧастичноедаНеизвестнодаНеизвестнодадаНетда
F131Сгруппированные операциидаНеизвестнодаНеизвестноНеизвестнодаНеизвестноНетда
F131-01Предложения WHERE, GROUP BY и HAVING поддерживаются в запросах с сгруппированными представлениями.даНеизвестнодаНеизвестноНеизвестнодаНеизвестноНетда
F131-02Поддержка нескольких таблиц в запросах с сгруппированными представлениямидаНеизвестнодаНеизвестноНеизвестнодаНеизвестноНетда
F131-03Установить функции, поддерживаемые в запросах с сгруппированными представлениямидаНеизвестнодаНеизвестноНеизвестнодаНеизвестноНетда
F131-04Подзапросы с предложениями GROUP BY и HAVING и сгруппированные представлениядаНеизвестнодаНеизвестноНеизвестнодаНеизвестноНетда
F131-05Однострочный SELECT с предложениями GROUP BY и HAVING и сгруппированными представлениямидаНеизвестнодаНеизвестноНеизвестнодаНеизвестноНетда
F *ДругойЧастичноеНеизвестноЧастичноеНеизвестноНеизвестноЧастичноеНеизвестноЧастичноеда
F181Поддержка нескольких модулейНетНеизвестнодаНеизвестноНеизвестноНетНеизвестноНетда
F201В РОЛЯХ функциядаНеизвестнодаНеизвестнодадададада
F221Явные значения по умолчаниюНетНеизвестноНеизвестноНеизвестноНеизвестнодаНеизвестнодада
F261ДЕЛО выражениедаНеизвестнодадададаНеизвестнодада
F261-01Простой СЛУЧАЙдаНеизвестнодаНеизвестноНеизвестнодаНеизвестнодада
F261-02Искали CASEдаНеизвестнодаНеизвестноНеизвестнодаНеизвестнодада
F261-03NULLIFдаНеизвестнодаНеизвестноНеизвестнодаНеизвестнодада
F261-04КОАЛЕСдаНеизвестнодадададаНеизвестнодада
F311Заявление об определении схемыНетНеизвестнодаНеизвестноНеизвестнодаЧастичноеНетда
F311-01СОЗДАТЬ СХЕМУНетНеизвестнодаНеизвестноНеизвестнодаНетНетда
F311-02CREATE TABLE для постоянных базовых таблицНетНеизвестнодадададаНеизвестноНетда
F311-03СОЗДАТЬ ПРОСМОТРНетНеизвестнодададададаНетда
F311-04СОЗДАТЬ ВИД: С ОПЦИЕЙ ПРОВЕРКИНетНеизвестнодаНеизвестноНеизвестнодаНеизвестноНетда
F311-05Заявление GRANTНетНеизвестнодаНеизвестноНеизвестнодаНетНетда
F471Скалярные значения подзапросадаНеизвестнодаНеизвестноНеизвестнодададада
F481Расширенный предикат NULLдаНеизвестнодаНеизвестноНеизвестнодаНеизвестнодада
F501Функции и виды соответствияНеизвестноНеизвестноНетНетНеизвестнодаНеизвестноНетда
F501-01Представление SQL_FEATURESНетНетНетНетНетдаНетНетда
F501-02Просмотр SQL_SIZINGНеизвестноНеизвестноНетНетНеизвестнодаНетНетда
F501-03Представление SQL_LANGUAGESНеизвестноНеизвестноНетНетНеизвестнодаНетНетда
F812Базовая маркировкаНетНеизвестноSQL-92НеизвестноНеизвестноНетНеизвестноНетда
S011Разные типы данныхНетНеизвестноНеизвестноНеизвестноНеизвестноНетНеизвестноНетда
S011-01USER_DEFINED_TYPES просмотрНеизвестноНеизвестноНеизвестноНеизвестноНеизвестноНетНеизвестноНетда
T321Базовые процедуры, вызываемые SQLЧастичноеНеизвестноЧастичноеНеизвестноНеизвестноЧастичноеНеизвестноНетда
T321-01Пользовательские функции без перегрузкидаНеизвестноНеизвестнодададаНеизвестноНетда
T321-02Определяемые пользователем хранимые процедуры без перегрузкидаНеизвестноНеизвестнодаНеизвестнодаНеизвестноНетда
T321-03Вызов функциидаНеизвестнодадададаНеизвестноНетда
T321-04CALL заявлениеЧастичноеНеизвестнодаНеизвестноНеизвестнодаНетНетда
T321-05Заявление о возвратеЧастичноеНеизвестноЧастичное[примечание 19]НеизвестноНеизвестноНетНетНетда
T321-06ROUTINES просмотрНеизвестноНеизвестноНет[примечание 20]НеизвестноНеизвестнодаНеизвестноНетда
T321-07ПАРАМЕТРЫ просмотрНеизвестноНеизвестноНет[примечание 21]НеизвестноНеизвестнодаНеизвестноНетда
T631В предикат с одним элементом спискадаНеизвестнодаНеизвестноНеизвестнодаНеизвестноНетда

Сноски

  1. ^ Без ключевого слова USING (но с аргументом единицы измерения); Функция LENGTH имеет необязательный аргумент единицы измерения
  2. ^ Обрезает конечные пробелы из значений CHARACTER перед подсчетом
  3. ^ Это имя не имеет встроенной функции, хотя количество октетов в строке можно определить с помощью LENGTH (CAST (X AS BLOB)).
  4. ^ Есть функции LTRIM и RTRIM для эквивалентной функциональности.
  5. ^ Есть ИНСТР.
  6. ^ Для эквивалентной функциональности существует функция CHARINDEX.
  7. ^ Отсутствует поддержка [IS [NOT] TRUE | FALSE | UNKNOWN]
  8. ^ а б Без ключевого слова DISTINCT
  9. ^ Используйте MINUS вместо EXCEPT DISTINCT
  10. ^ Кроме составных запросов.
  11. ^ Только таблицы БЕЗ ROWID имеют реальные первичные ключи, отличные от rowid (INTEGER PRIMARY KEY)
  12. ^ Только для таблиц БЕЗ ROWID.
  13. ^ SET [CURRENT] ISOLATION используется вместо SET TRANSACTION
  14. ^ Поддерживает встроенные языковые функции, но не специфический синтаксис MODULE
  15. ^ https://dev.mysql.com/doc/refman/5.7/en/information-schema.html
  16. ^ а б c d е ж Включен в схему SYSIBM
  17. ^ а б c Также включает столбцы расширений для MySQL
  18. ^ а б c Вы можете использовать PRAGMA для получения этой информации и можете создать на ее основе информационную схему, но она не является встроенной.
  19. ^ Oracle поддерживает следующую подфункцию в PL / SQL, но не в Oracle SQL.
  20. ^ Использовать ВСЕ ПРОЦЕДУРЫ просмотр метаданных.
  21. ^ Использовать ВСЕ_АРГУМЕНТЫ и ALL_METHOD_PARAMS просмотры метаданных.

Смотрите также

Рекомендации

  1. ^ «[MS-TSQLISO02]: E021-09, функция TRIM». docs.microsoft.com. Получено 22 апреля 2020.
  2. ^ «[MS-TSQLISO02]: E021-11, функция POSITION». docs.microsoft.com. Получено 22 апреля 2020.