ANSI-megfelelőség a Databricks Runtime-ban
A következőkre vonatkozik: Databricks Runtime
Ez a cikk az ANSI-megfelelőséget ismerteti a Databricks Runtime-ban. A Databricks SQL ANSI-módjáról lásd : ANSI_MODE.
A Spark SQL két lehetőséggel támogatja az ANSI SQL szabványnak való megfelelést: spark.sql.ansi.enabled
és spark.sql.storeAssignmentPolicy
.
Ha spark.sql.ansi.enabled
be van állítva, a true
Spark SQL ANSI-kompatibilis dialektust használ a Hive-kompatibilis helyett. A Spark például futásidőben kivételt ad vissza null eredmény helyett, ha egy SQL-operátor/függvény bemenetei érvénytelenek. Előfordulhat, hogy egyes ANSI-dialektusi funkciók nem közvetlenül az ANSI SQL-szabványból származnak, de viselkedésük megfelel az ANSI SQL stílusának.
A Spark SQL emellett egy független beállítással is rendelkezik az implicit öntési viselkedés szabályozására, amikor sorokat tárol egy táblában. Az öntési viselkedések a szabványban tároló-hozzárendelési szabályokként vannak definiálva.
Ha spark.sql.storeAssignmentPolicy
be van állítva, a ANSI
Spark SQL megfelel az ANSI-tároló hozzárendelési szabályainak. Ez egy külön konfiguráció, mert az ANSI
alapértelmezett értéke, míg a konfiguráció spark.sql.ansi.enabled
alapértelmezés szerint le van tiltva.
Az alábbi táblázat összefoglalja a viselkedést:
Tulajdonság neve | Alapértelmezett | Értelmezés |
---|---|---|
spark.sql.ansi.enabled |
false | Ha igaz, a Spark megpróbál megfelelni az ANSI SQL-specifikációnak: – Futásidejű kivételt ad, ha egy egész vagy decimális mező bármely műveletében túlcsordulás történik. - Megtiltja, hogy az ANSI SQL fenntartott kulcsszavait azonosítóként használja az SQL-elemzőben. |
spark.sql.storeAssignmentPolicy |
ANSI | Amikor egy értéket egy másik adattípusú oszlopba tárol, a Spark típuskonverziót hajt végre. A típus kényszerítő szabályainak három házirendje van: ANSI , legacy és strict .- ANSI : A Spark az ANSI SQL-nek megfelelően hajtja végre a típuskényszert. A gyakorlatban a viselkedés többnyire megegyezik a PostgreSQL-ével. Letilt bizonyos ésszerűtlen típuskonverziókat, például a sztringek int vagy dupla logikai értékre való konvertálását.- legacy : Spark lehetővé teszi a típus kényszerítése, amíg ez egy érvényes Cast, ami nagyon laza. A sztring átalakítása például int vagy double értékre logikai értékre engedélyezett. Ez az egyetlen viselkedés a Spark 2.x-ben, és kompatibilis a Hive-lel.- strict : A Spark nem engedélyezi az esetleges pontosságvesztést vagy adatcsobolást a típuskényszerítésben, például a dupla int vagy decimális dupla értékre konvertálása nem engedélyezett. |
Az alábbi alszakaszok viselkedésbeli változásokat mutatnak be az aritmetikai műveletekben, a típuskonverziókban és az SQL-elemzésekben, ha az ANSI mód engedélyezve van. A Spark SQL-ben a típuskonverziókhoz háromféle típus létezik, és ez a cikk egyenként mutatja be őket: öntött, tároló-hozzárendelés és típus kényszerítése.
Aritmetikai műveletek
A Spark SQL-ben a numerikus típusokon végrehajtott számtani műveletek (a tizedesvessző kivételével) alapértelmezés szerint nem ellenőrzik a túlcsordulásokat.
Ez azt jelenti, hogy ha egy művelet túlcsordulást okoz, az eredmény megegyezik a Java- vagy Scala-programok megfelelő műveletével (ha például a 2 egész szám összege meghaladja a maximálisan ábrázolható értéket, az eredmény negatív szám). A Spark SQL viszont null értéket ad vissza a decimális túlcsordulásokhoz.
Amikor spark.sql.ansi.enabled
be van állítva true
, és a szám- és intervallum-aritmetikai műveletekben túlcsordulás történik, futásidőben aritmetikai kivételt eredményez.
-- `spark.sql.ansi.enabled=true`
> SELECT 2147483647 + 1;
error: integer overflow
-- `spark.sql.ansi.enabled=false`
> SELECT 2147483647 + 1;
-2147483648
Cost
Ha spark.sql.ansi.enabled
a true
szintaxis szerinti CAST
explicit öntés futásidejű kivételt ad a szabványban definiált illegális öntött mintákra, például sztringről egész számra történő öntötteléssel.
A CAST
Spark ANSI mód záradéka az ISO/IEC 9075-2:2011 informatikai technológia – Adatbázisnyelvek – SQL – 2. rész: Alap (SQL/Foundation) 6.13 "cast specification" szakaszának szintaxisszabályait követi, azzal a kivételrel, hogy kifejezetten engedélyezi a következő egyszerű típuskonverziókat, amelyek az ANSI-szabványnak megfelelően nem engedélyezettek:
- Numerikus típus <=> Logikai típus
- StringType <=> BinaryType
A forrás- és céladattípus érvényes kombinációit a következő táblázat adja meg egy kifejezésben CAST
.
Az "Y" azt jelzi, hogy a kombináció szintaktikailag korlátozás nélkül érvényes, az "N" pedig azt jelzi, hogy a kombináció érvénytelen.
SourceTarget | Numerikus | Sztring | Dátum | Időbélyegző | Intervallum | Logikai | Bináris | Tömb | Térkép | Struktúra |
---|---|---|---|---|---|---|---|---|---|---|
Numerikus | I | I | N | N | N | I | N | N | N | N |
Sztring | I | I | I | I | I | I | I | N | N | N |
Dátum | N | I | I | I | N | N | N | N | N | N |
Időbélyegző | N | I | I | I | N | N | N | N | N | N |
Intervallum | N | I | N | N | I | N | N | N | N | N |
Logikai | I | I | N | N | N | I | N | N | N | N |
Bináris | I | N | N | N | N | N | I | N | N | N |
Tömb | N | N | N | N | N | N | N | I | N | N |
Térkép | N | N | N | N | N | N | N | N | I | N |
Struktúra | N | N | N | N | N | N | N | N | N | I |
-- Examples of explicit casting
-- `spark.sql.ansi.enabled=true`
> SELECT CAST('a' AS INT);
ERROR: [CAST_INVALID_INPUT] The value 'a' of the type "STRING" cannot be cast to "INT" because it is malformed.
> SELECT CAST(2147483648L AS INT);
ERROR: [CAST_OVERFLOW] The value 2147483648L of the type "BIGINT" cannot be cast to "INT" due to an overflow.
> SELECT CAST(DATE'2020-01-01' AS INT)
ERROR: [DATATYPE_MISMATCH.CAST_WITH_FUNC_SUGGESTION] Cannot resolve "CAST(DATE '2020-01-01' AS INT)" due to data type mismatch: cannot cast "DATE" to "INT".
-- `spark.sql.ansi.enabled=false` (This is a default behavior)
> SELECT cast('a' AS INT);
null
> SELECT CAST(2147483648L AS INT);
-2147483648
> SELECT CAST(DATE'2020-01-01' AS INT);
null
Áruház-hozzárendelés
A beállítás spark.sql.storeAssignmentPolicy
alapértelmezés szerint a következő.ANSI
Ezzel a beállítással, ha a forrásértékek adattípusai nem felelnek meg a céloszloptípusoknak, a Spark SQL automatikusan hozzáadja az ANSI CAST záradékokat az INSERT utasításhoz.
A házirend alatti táblázatbeszúrás során a Spark ellenőrzi és elutasítja az érvénytelen leadást, kivételt vetve az adatminőség biztosítása érdekében. Ez azt jelenti, hogy ha egy beszúrási kísérlet típuseltérés miatt meghiúsul, az nem eredményezi, hogy az adatok részben a táblába lesznek írva.
Példák:
-- spark.sql.storeAssignmentPolicy=ANSI
> CREATE TABLE test(i INT);
> INSERT INTO test VALUES (2147483648L);
ERROR: [CAST_OVERFLOW_IN_TABLE_INSERT] Fail to insert a value of "BIGINT" type into the "INT" type column `i` due to an overflow.
> INSERT INTO test VALUES ('a');
ERROR: [CAST_INVALID_INPUT ERROR] The value 'a' of the type "STRING" cannot be cast to "INT" because it is malformed
Ezek a példák azt mutatják, hogy a Spark SQL megakadályozza a nem kompatibilis adatok beszúrását, ezáltal fenntartva az adatintegritást.
Ha a spark.sql.storeAssignmentPolicy
beállítás LEGACY
értéke, a Spark SQL visszaáll a Spark 2.x-re jellemző viselkedésre. Ebben a módban az ANSI CAST használata helyett régi CAST-műveleteket alkalmaz. Ebben a szabályzatban a táblabeszúrások során érvénytelen leadások null értékeket vagy helytelen értékeket szúrnak be ahelyett, hogy kivételt okoznak.
Példák:
-- spark.sql.storeAssignmentPolicy=LEGACY
> CREATE TABLE test(i INT);
> INSERT INTO test VALUES (2147483648L);
> INSERT INTO test VALUES ('a');
> SELECT * FROM test;
-- Results
-- -2147483648 (incorrect value due to overflow)
-- null (cannot cast 'a' to INT)
Kényszerítés beírása
Írja be az előléptetést és az elsőbbségi sorrendet
Ha spark.sql.ansi.enabled
be van állítva true
, a Spark SQL több olyan szabályt használ, amelyek szabályozzák az adattípusok közötti ütközések feloldását.
Ennek az ütközésfeloldásnak a középpontjában a Típus elsőbbsége lista áll, amely meghatározza, hogy egy adott adattípus értékei implicit módon előléptethetők-e egy másik adattípusra.
Adattípus | elsőbbségi lista (a legszűkebbtől a legszélesebbig) |
---|---|
Bájt | Bájt – Rövid –> Int – Hosszú –> Decimális –>> Lebegőpontos* –> Dupla> |
Rövid | Rövid -> Int -> Long -> Decimal-> Float* -> Double |
Int | Int –> Hosszú –> Decimális –> Lebegőpontos* –> Dupla |
Hosszú | Hosszú -> Decimális -> Lebegőpontos* -> Dupla |
Decimális | Decimális –> Lebegőpontos* –> Dupla |
Lebegőpontos értékek | Lebegtetés –> Dupla |
Kétszeres | Kétszeres |
Dátum | Dátum –> Időbélyeg |
Időbélyegző | Időbélyegző |
Sztring | Sztring |
Bináris | Bináris |
Logikai | Logikai |
Intervallum | Intervallum |
Térkép | Térkép** |
Tömb | Tömb** |
Struktúra | Struct** |
- A minimálisan gyakori típusfeloldási lebegőpontos lebegőpontosság kihagyása a pontosság elvesztésének elkerülése érdekében.
** Összetett típus esetén az elsőbbségi szabály rekurzívan vonatkozik az összetevő elemeire.
A sztringtípusra és a nem beírt NULL típusra speciális szabályok vonatkoznak. A NULL bármilyen más típusra előléptethető, míg a sztringek bármilyen egyszerű adattípusra előléptethetők.
Ez az elsőbbségi lista grafikus ábrázolása irányított faként:
Legkevésbé gyakori típusfeloldás
A típusok közül a legkevésbé gyakori típus a típusok összes eleme által elérhető legszűkebb típus az elsőbbségi listából.
A legkevésbé gyakori típusfeloldás a következő műveletekre használható:
- Döntse el, hogy egy típus paraméterét váró függvény meghívható-e egy szűkebb típusú argumentum használatával.
- Olyan függvények argumentumtípusának származtatása, amelyek megosztott argumentumtípust várnak több paraméterhez, például a legkisebb vagy a legnagyobb értékhez.
- Az operátorok operandustípusait( például aritmetikai műveleteket vagy összehasonlításokat) származtathatja.
- Származtathatja a kifejezés eredménytípusát, például a kis- és nagybetűket.
- A tömb- és térképkonstruktorok elem-, kulcs- vagy értéktípusainak kinyerése.
A rendszer speciális szabályokat alkalmaz, ha a legkevésbé gyakori típus float-ra van feloldva. Lebegőpontos típusértékek esetén, ha bármelyik típus INT, BIGINT vagy DECIMAL típusú, akkor a rendszer a legkevésbé gyakori típust dupla értékre küldi, hogy elkerülje a számjegyek esetleges elvesztését.
-- The coalesce function accepts any set of argument types as long as they share a least common type.
-- The result type is the least common type of the arguments.
> SET spark.sql.ansi.enabled=true;
> SELECT typeof(coalesce(1Y, 1L, NULL));
BIGINT
> SELECT typeof(coalesce(1, DATE'2020-01-01'));
Error: Incompatible types [INT, DATE]
> SELECT typeof(coalesce(ARRAY(1Y), ARRAY(1L)));
ARRAY<BIGINT>
> SELECT typeof(coalesce(1, 1F));
DOUBLE
> SELECT typeof(coalesce(1L, 1F));
DOUBLE
> SELECT (typeof(coalesce(1BD, 1F)));
DOUBLE
-- The substring function expects arguments of type INT for the start and length parameters.
> SELECT substring('hello', 1Y, 2);
he
> SELECT substring('hello', '1', 2);
he
> SELECT substring('hello', 1L, 2);
Error: Argument 2 requires an INT type.
> SELECT substring('hello', str, 2) FROM VALUES(CAST('1' AS STRING)) AS T(str);
Error: Argument 2 requires an INT type.
SQL-függvények
Egyes SQL-függvények viselkedése az ANSI módban (spark.sql.ansi.enabled=true
) eltérő lehet.
size
: Ez a függvény null értéket ad vissza a null bemenethez ANSI módban.element_at
:- Ez a függvény érvénytelen indexek
ArrayIndexOutOfBoundsException
használata esetén dob. - Ez a függvény dob,
NoSuchElementException
ha a kulcs nem létezik a térképen.
- Ez a függvény érvénytelen indexek
elt
: Ez a függvény érvénytelen indexekArrayIndexOutOfBoundsException
használata esetén dob.make_date
: Ez a függvény kivétellel meghiúsul, ha az eredménydátum érvénytelen.make_timestamp
: Ez a függvény kivétellel meghiúsul, ha az eredmény időbélyege érvénytelen.make_interval
: Ez a függvény kivétellel meghiúsul, ha az eredményintervallum érvénytelen.next_day
: Ez a függvény akkor jelenik megIllegalArgumentException
, ha a bemenet nem érvényes hétnap.parse_url
: Ez a függvény akkor jelenikIllegalArgumentException
meg, ha egy bemeneti sztring nem érvényes URL-cím.to_date
: Ez a függvény kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető, vagy a mintasztring érvénytelen.to_timestamp
: Ez a függvény kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető, vagy a mintasztring érvénytelen.to_unix_timestamp
: Ez a függvény kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető, vagy a mintasztring érvénytelen.unix_timestamp
: Ez a függvény kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető, vagy a mintasztring érvénytelen.
SQL-operátorok
Egyes SQL-operátorok viselkedése az ANSI módban (spark.sql.ansi.enabled=true
) eltérő lehet.
array_col[index]
: Ez az operátor érvénytelen indexekArrayIndexOutOfBoundsException
használata esetén dob.map_col[key]
: Ez az operátor dob,NoSuchElementException
ha a kulcs nem létezik a térképen.CAST(string_col AS TIMESTAMP)
: Ez az operátor kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető.CAST(string_col AS DATE)
: Ez az operátor kivétellel meghiúsul, ha a bemeneti sztring nem elemezhető.
Hasznos függvények AZ ANSI módhoz
Ha az ANSI mód be van kapcsolva, kivételeket ad az érvénytelen műveletekhez. Az alábbi SQL-függvényekkel letilthatja az ilyen kivételeket.
try_cast
: megegyezik azzal a kivétellelCAST
, hogy a futásidejű hiba kivétele helyett eredményt ad visszaNULL
.try_add
: megegyezik a hozzáadási operátorral+
, azzal a kivétellel, hogy az eredményt adja visszaNULL
ahelyett, hogy kivételt ad az integrálérték-túlcsordulásra.try_divide
: megegyezik az osztás operátorával/
, azzal a kivétellel, hogy a 0 osztása helyett eredményt ad visszaNULL
.
SQL-kulcsszavak
Ha spark.sql.ansi.enabled
igaz, a Spark SQL az ANSI módelemzőt fogja használni.
Ebben a módban a Spark SQL kétféle kulcsszóval rendelkezik:
- Fenntartott kulcsszavak: Fenntartott kulcsszavak, amelyek nem használhatók tábla, nézet, oszlop, függvény, alias stb. azonosítójaként.
- Nem fenntartott kulcsszavak: Azok a kulcsszavak, amelyek különleges jelentéssel bírnak, csak bizonyos kontextusokban, és más környezetekben is használhatók azonosítóként. Például egy parancs,
EXPLAIN SELECT ...
de a EXPLAIN más helyeken is használható azonosítóként.
Ha az ANSI mód le van tiltva, a Spark SQL kétféle kulcsszóval rendelkezik:
- Nem fenntartott kulcsszavak: Ugyanaz a definíció, mint az ANSI-mód engedélyezésekor.
- Szigorúan nem fenntartott kulcsszavak: A nem fenntartott kulcsszavak szigorú verziója, amely nem használható táblaaliasként.
Alapértelmezés szerint spark.sql.ansi.enabled
hamis.
Az alábbi lista a Spark SQL összes kulcsszóját tartalmazza.
Kulcsszó | Spark SQL ANSI mód | Spark SQL alapértelmezett mód | SQL-2016 |
---|---|---|---|
HOZZÁADÁS | nem fenntartott | nem fenntartott | nem fenntartott |
UTÁNA | nem fenntartott | nem fenntartott | nem fenntartott |
ALL (összes) | tartózkodó | nem fenntartott | tartózkodó |
ALTER | nem fenntartott | nem fenntartott | tartózkodó |
MINDIG | nem fenntartott | nem fenntartott | nem fenntartott |
ELEMEZ | nem fenntartott | nem fenntartott | nem fenntartott |
ÉS | tartózkodó | nem fenntartott | tartózkodó |
ANTI | nem fenntartott | szigorúan nem fenntartott | nem fenntartott |
BÁRMELY | tartózkodó | nem fenntartott | tartózkodó |
ARCHÍVUM | nem fenntartott | nem fenntartott | nem fenntartott |
TÖMB | nem fenntartott | nem fenntartott | tartózkodó |
AS | tartózkodó | nem fenntartott | tartózkodó |
ASC | nem fenntartott | nem fenntartott | nem fenntartott |
AT | nem fenntartott | nem fenntartott | tartózkodó |
FELHATALMAZÁS | tartózkodó | nem fenntartott | tartózkodó |
BETWEEN | nem fenntartott | nem fenntartott | tartózkodó |
MINDKETTŐ | tartózkodó | nem fenntartott | tartózkodó |
VÖDÖR | nem fenntartott | nem fenntartott | nem fenntartott |
VÖDÖR | nem fenntartott | nem fenntartott | nem fenntartott |
BY | nem fenntartott | nem fenntartott | tartózkodó |
GYORSÍTÓTÁR | nem fenntartott | nem fenntartott | nem fenntartott |
VÍZESÉS | nem fenntartott | nem fenntartott | nem fenntartott |
CASE | tartózkodó | nem fenntartott | tartózkodó |
CAST | tartózkodó | nem fenntartott | tartózkodó |
VÁLTOZÁS | nem fenntartott | nem fenntartott | nem fenntartott |
ELLENŐRIZ | tartózkodó | nem fenntartott | tartózkodó |
VILÁGOS | nem fenntartott | nem fenntartott | nem fenntartott |
FÜRT | nem fenntartott | nem fenntartott | nem fenntartott |
FÜRTÖZÖTT | nem fenntartott | nem fenntartott | nem fenntartott |
CODEGEN | nem fenntartott | nem fenntartott | nem fenntartott |
EGYEZTET | tartózkodó | nem fenntartott | tartózkodó |
GYŰJTEMÉNY | nem fenntartott | nem fenntartott | nem fenntartott |
OSZLOP | tartózkodó | nem fenntartott | tartózkodó |
OSZLOPOK | nem fenntartott | nem fenntartott | nem fenntartott |
MEGJEGYZÉST | nem fenntartott | nem fenntartott | nem fenntartott |
ELKÖVET | nem fenntartott | nem fenntartott | tartózkodó |
KOMPAKT | nem fenntartott | nem fenntartott | nem fenntartott |
TÖMÖRÍTÉSEK | nem fenntartott | nem fenntartott | nem fenntartott |
SZÁMÍTÁS | nem fenntartott | nem fenntartott | nem fenntartott |
ÖSSZEKAPCSOL | nem fenntartott | nem fenntartott | nem fenntartott |
KÉNYSZER | tartózkodó | nem fenntartott | tartózkodó |
KÖLTSÉGEK | nem fenntartott | nem fenntartott | nem fenntartott |
CREATE | tartózkodó | nem fenntartott | tartózkodó |
KERESZT | tartózkodó | szigorúan nem fenntartott | tartózkodó |
KOCKA | nem fenntartott | nem fenntartott | tartózkodó |
AKTUÁLIS | nem fenntartott | nem fenntartott | tartózkodó |
CURRENT_DATE | tartózkodó | nem fenntartott | tartózkodó |
CURRENT_TIME | tartózkodó | nem fenntartott | tartózkodó |
CURRENT_TIMESTAMP | tartózkodó | nem fenntartott | tartózkodó |
CURRENT_USER | tartózkodó | nem fenntartott | tartózkodó |
ADATOK | nem fenntartott | nem fenntartott | nem fenntartott |
ADATBÁZIS | nem fenntartott | nem fenntartott | nem fenntartott |
ADATBÁZIS-KEZELÉS | nem fenntartott | nem fenntartott | nem fenntartott |
DAY | nem fenntartott | nem fenntartott | nem fenntartott |
DBPROPERTIES | nem fenntartott | nem fenntartott | nem fenntartott |
MEGHATÁROZOTT | nem fenntartott | nem fenntartott | nem fenntartott |
Törlés... | nem fenntartott | nem fenntartott | tartózkodó |
TAGOLT | nem fenntartott | nem fenntartott | nem fenntartott |
DESC | nem fenntartott | nem fenntartott | nem fenntartott |
LEÍR | nem fenntartott | nem fenntartott | tartózkodó |
DFS | nem fenntartott | nem fenntartott | nem fenntartott |
KÖNYVTÁRAK | nem fenntartott | nem fenntartott | nem fenntartott |
KÖNYVTÁR | nem fenntartott | nem fenntartott | nem fenntartott |
KÜLÖNBÖZŐ | tartózkodó | nem fenntartott | tartózkodó |
ELOSZT | nem fenntartott | nem fenntartott | nem fenntartott |
DIV | nem fenntartott | nem fenntartott | nem kulcsszó |
DROP | nem fenntartott | nem fenntartott | tartózkodó |
MÁS | tartózkodó | nem fenntartott | tartózkodó |
VÉG | tartózkodó | nem fenntartott | tartózkodó |
MENEKÜLÉS | tartózkodó | nem fenntartott | tartózkodó |
SZÖKÖTT | nem fenntartott | nem fenntartott | nem fenntartott |
KIVÉVE | tartózkodó | szigorúan nem fenntartott | tartózkodó |
TŐZSDE | nem fenntartott | nem fenntartott | nem fenntartott |
LÉTEZIK | nem fenntartott | nem fenntartott | tartózkodó |
EXPLAIN | nem fenntartott | nem fenntartott | nem fenntartott |
KIVITEL | nem fenntartott | nem fenntartott | nem fenntartott |
EXTENDED | nem fenntartott | nem fenntartott | nem fenntartott |
KÜLSŐ | nem fenntartott | nem fenntartott | tartózkodó |
KIVONAT | nem fenntartott | nem fenntartott | tartózkodó |
HAMIS | tartózkodó | nem fenntartott | tartózkodó |
CSEL | tartózkodó | nem fenntartott | tartózkodó |
MEZŐK | nem fenntartott | nem fenntartott | nem fenntartott |
SZŰRŐ | tartózkodó | nem fenntartott | tartózkodó |
FILEFORMAT | nem fenntartott | nem fenntartott | nem fenntartott |
FIRST | nem fenntartott | nem fenntartott | nem fenntartott |
FN | nem fenntartott | nem fenntartott | nem fenntartott |
ALÁBBI | nem fenntartott | nem fenntartott | nem fenntartott |
RÉSZÉRE | tartózkodó | nem fenntartott | tartózkodó |
KÜLFÖLDI | tartózkodó | nem fenntartott | tartózkodó |
FORMÁTUM | nem fenntartott | nem fenntartott | nem fenntartott |
FORMÁZOTT | nem fenntartott | nem fenntartott | nem fenntartott |
FROM | tartózkodó | nem fenntartott | tartózkodó |
TELE | tartózkodó | szigorúan nem fenntartott | tartózkodó |
FUNKCIÓ | nem fenntartott | nem fenntartott | tartózkodó |
FÜGGVÉNYEK | nem fenntartott | nem fenntartott | nem fenntartott |
GENERÁLT | nem fenntartott | nem fenntartott | nem fenntartott |
GLOBÁLIS | nem fenntartott | nem fenntartott | tartózkodó |
GRANT | tartózkodó | nem fenntartott | tartózkodó |
TÁMOGATÁSOK | nem fenntartott | nem fenntartott | nem fenntartott |
CSOPORT | tartózkodó | nem fenntartott | tartózkodó |
CSOPORTOSÍTÁS | nem fenntartott | nem fenntartott | tartózkodó |
MIUTÁN | tartózkodó | nem fenntartott | tartózkodó |
ÓRA | nem fenntartott | nem fenntartott | nem fenntartott |
IF | nem fenntartott | nem fenntartott | nem kulcsszó |
IGNORE | nem fenntartott | nem fenntartott | nem fenntartott |
IMPORTÁL | nem fenntartott | nem fenntartott | nem fenntartott |
IN | tartózkodó | nem fenntartott | tartózkodó |
IINDEX | nem fenntartott | nem fenntartott | nem fenntartott |
INDEXEK | nem fenntartott | nem fenntartott | nem fenntartott |
BELSŐ | tartózkodó | szigorúan nem fenntartott | tartózkodó |
INPATH | nem fenntartott | nem fenntartott | nem fenntartott |
INPUTFORMAT | nem fenntartott | nem fenntartott | nem fenntartott |
INSERT | nem fenntartott | nem fenntartott | tartózkodó |
METSZET | tartózkodó | szigorúan nem fenntartott | tartózkodó |
INTERVALLUM | nem fenntartott | nem fenntartott | tartózkodó |
INTO | tartózkodó | nem fenntartott | tartózkodó |
IS | tartózkodó | nem fenntartott | tartózkodó |
ELEMEK | nem fenntartott | nem fenntartott | nem fenntartott |
JOIN | tartózkodó | szigorúan nem fenntartott | tartózkodó |
KULCS | nem fenntartott | nem fenntartott | nem fenntartott |
KULCSOK | nem fenntartott | nem fenntartott | nem fenntartott |
LAST | nem fenntartott | nem fenntartott | nem fenntartott |
OLDALSÓ | tartózkodó | szigorúan nem fenntartott | tartózkodó |
LUSTA | nem fenntartott | nem fenntartott | nem fenntartott |
VEZETŐ | tartózkodó | nem fenntartott | tartózkodó |
LEFT | tartózkodó | szigorúan nem fenntartott | tartózkodó |
SZERET | nem fenntartott | nem fenntartott | tartózkodó |
ILIKE | nem fenntartott | nem fenntartott | nem fenntartott |
KORLÁT | nem fenntartott | nem fenntartott | nem fenntartott |
SOROK | nem fenntartott | nem fenntartott | nem fenntartott |
LISTA | nem fenntartott | nem fenntartott | nem fenntartott |
RAKOMÁNY | nem fenntartott | nem fenntartott | nem fenntartott |
HELYI | nem fenntartott | nem fenntartott | tartózkodó |
HELY | nem fenntartott | nem fenntartott | nem fenntartott |
ZÁR | nem fenntartott | nem fenntartott | nem fenntartott |
ZÁRAK | nem fenntartott | nem fenntartott | nem fenntartott |
LOGIKUS | nem fenntartott | nem fenntartott | nem fenntartott |
MAKRÓ | nem fenntartott | nem fenntartott | nem fenntartott |
TÉRKÉP | nem fenntartott | nem fenntartott | nem fenntartott |
KIEGYENLÍTETT | nem fenntartott | nem fenntartott | nem fenntartott |
EGYESÜL | nem fenntartott | nem fenntartott | nem fenntartott |
PERC | nem fenntartott | nem fenntartott | nem fenntartott |
MÍNUSZ | nem fenntartott | szigorúan nem fenntartott | nem fenntartott |
MONTH | nem fenntartott | nem fenntartott | nem fenntartott |
MSCK | nem fenntartott | nem fenntartott | nem fenntartott |
NAMESPACE | nem fenntartott | nem fenntartott | nem fenntartott |
NÉVTEREK | nem fenntartott | nem fenntartott | nem fenntartott |
TERMÉSZETES | tartózkodó | szigorúan nem fenntartott | tartózkodó |
NEM | nem fenntartott | nem fenntartott | tartózkodó |
NEM | tartózkodó | nem fenntartott | tartózkodó |
NULL | tartózkodó | nem fenntartott | tartózkodó |
NULLÉRTÉKEK | nem fenntartott | nem fenntartott | nem fenntartott |
OF | nem fenntartott | nem fenntartott | tartózkodó |
ON | tartózkodó | szigorúan nem fenntartott | tartózkodó |
CSAK | tartózkodó | nem fenntartott | tartózkodó |
OPTION | nem fenntartott | nem fenntartott | nem fenntartott |
BEÁLLÍTÁSOK | nem fenntartott | nem fenntartott | nem fenntartott |
VAGY | tartózkodó | nem fenntartott | tartózkodó |
MEGRENDELÉS | tartózkodó | nem fenntartott | tartózkodó |
KI | nem fenntartott | nem fenntartott | tartózkodó |
KÜLSŐ | tartózkodó | nem fenntartott | tartózkodó |
OUTPUTFORMAT | nem fenntartott | nem fenntartott | nem fenntartott |
FÖLÖTT | nem fenntartott | nem fenntartott | nem fenntartott |
ÁTFEDÉSEK | tartózkodó | nem fenntartott | tartózkodó |
KIS TERÍTŐ | nem fenntartott | nem fenntartott | nem fenntartott |
FELÜLÍRJA | nem fenntartott | nem fenntartott | nem fenntartott |
PARTÍCIÓ | nem fenntartott | nem fenntartott | tartózkodó |
PARTICIONÁLT | nem fenntartott | nem fenntartott | nem fenntartott |
PARTÍCIÓK | nem fenntartott | nem fenntartott | nem fenntartott |
SZÁZALÉK | nem fenntartott | nem fenntartott | nem fenntartott |
FŐTÁMASZ | nem fenntartott | nem fenntartott | nem fenntartott |
FORGALOMBA | nem fenntartott | nem fenntartott | nem fenntartott |
POZÍCIÓ | nem fenntartott | nem fenntartott | tartózkodó |
ELŐZŐ | nem fenntartott | nem fenntartott | nem fenntartott |
Elsődleges | tartózkodó | nem fenntartott | tartózkodó |
MEGBÍZÓK | nem fenntartott | nem fenntartott | nem fenntartott |
TULAJDONSÁGOK | nem fenntartott | nem fenntartott | nem fenntartott |
PURGE | nem fenntartott | nem fenntartott | nem fenntartott |
MINŐSÍT | tartózkodó | nem fenntartott | tartózkodó |
LEKÉRDEZÉS | nem fenntartott | nem fenntartott | nem fenntartott |
TARTOMÁNY | nem fenntartott | nem fenntartott | tartózkodó |
CÍMZETT | nem fenntartott | nem fenntartott | nem fenntartott |
CÍMZETTEK | nem fenntartott | nem fenntartott | nem fenntartott |
RECORDREADER | nem fenntartott | nem fenntartott | nem fenntartott |
REKORDÍRÓ | nem fenntartott | nem fenntartott | nem fenntartott |
VISSZASZEREZ | nem fenntartott | nem fenntartott | nem fenntartott |
CSÖKKENT | nem fenntartott | nem fenntartott | nem fenntartott |
HIVATKOZÁSOK | tartózkodó | nem fenntartott | tartózkodó |
REFRESH | nem fenntartott | nem fenntartott | nem fenntartott |
REGEXP | nem fenntartott | nem fenntartott | nem kulcsszó |
ELTÁVOLÍTÁS | nem fenntartott | nem fenntartott | nem fenntartott |
RENAME | nem fenntartott | nem fenntartott | nem fenntartott |
JAVÍTÁS | nem fenntartott | nem fenntartott | nem fenntartott |
REPLACE | nem fenntartott | nem fenntartott | nem fenntartott |
RESET | nem fenntartott | nem fenntartott | nem fenntartott |
TISZTELET | nem fenntartott | nem fenntartott | nem fenntartott |
KORLÁTOZ | nem fenntartott | nem fenntartott | nem fenntartott |
REVOKE | nem fenntartott | nem fenntartott | tartózkodó |
RIGHT | tartózkodó | szigorúan nem fenntartott | tartózkodó |
RLIKE | nem fenntartott | nem fenntartott | nem fenntartott |
SZEREPKÖR | nem fenntartott | nem fenntartott | nem fenntartott |
SZEREPKÖRÖK | nem fenntartott | nem fenntartott | nem fenntartott |
VISSZAGURÍTÁS | nem fenntartott | nem fenntartott | tartózkodó |
ÖSSZESÍTÉS | nem fenntartott | nem fenntartott | tartózkodó |
SOR | nem fenntartott | nem fenntartott | tartózkodó |
SOROK | nem fenntartott | nem fenntartott | tartózkodó |
SÉMA | nem fenntartott | nem fenntartott | nem fenntartott |
SÉMÁK | nem fenntartott | nem fenntartott | nem kulcsszó |
MÁSODIK | nem fenntartott | nem fenntartott | nem fenntartott |
SELECT | tartózkodó | nem fenntartott | tartózkodó |
FÉLIG | nem fenntartott | szigorúan nem fenntartott | nem fenntartott |
ELVÁLASZTOTT | nem fenntartott | nem fenntartott | nem fenntartott |
SERDE | nem fenntartott | nem fenntartott | nem fenntartott |
SERDEPROPERTIES | nem fenntartott | nem fenntartott | nem fenntartott |
SESSION_USER | tartózkodó | nem fenntartott | tartózkodó |
SET | nem fenntartott | nem fenntartott | tartózkodó |
KÉSZLETEK | nem fenntartott | nem fenntartott | nem fenntartott |
MEGOSZTÁS | nem fenntartott | nem fenntartott | nem fenntartott |
RÉSZVÉNYEK | nem fenntartott | nem fenntartott | nem fenntartott |
MUTAT | nem fenntartott | nem fenntartott | nem fenntartott |
FERDE | nem fenntartott | nem fenntartott | nem fenntartott |
NÉHÁNY | tartózkodó | nem fenntartott | tartózkodó |
FAJTA | nem fenntartott | nem fenntartott | nem fenntartott |
RENDEZVE | nem fenntartott | nem fenntartott | nem fenntartott |
INDÍTÁS | nem fenntartott | nem fenntartott | tartózkodó |
STATISZTIKA | nem fenntartott | nem fenntartott | nem fenntartott |
TÁROLT | nem fenntartott | nem fenntartott | nem fenntartott |
RÉTEGZŐDIK | nem fenntartott | nem fenntartott | nem fenntartott |
STRUCT | nem fenntartott | nem fenntartott | nem fenntartott |
SUBSTR | nem fenntartott | nem fenntartott | nem fenntartott |
SUBSTRING | nem fenntartott | nem fenntartott | nem fenntartott |
SZINKRONIZÁL | nem fenntartott | nem fenntartott | nem fenntartott |
TÁBLÁZAT | tartózkodó | nem fenntartott | tartózkodó |
TÁBLÁK | nem fenntartott | nem fenntartott | nem fenntartott |
TABLESAMPLE | nem fenntartott | nem fenntartott | tartózkodó |
TBLPROPERTIES | nem fenntartott | nem fenntartott | nem fenntartott |
TEMP | nem fenntartott | nem fenntartott | nem kulcsszó |
IDEIGLENES | nem fenntartott | nem fenntartott | nem fenntartott |
MEGSZŰNIK | nem fenntartott | nem fenntartott | nem fenntartott |
AKKOR | tartózkodó | nem fenntartott | tartózkodó |
TIME | tartózkodó | nem fenntartott | tartózkodó |
TO | tartózkodó | nem fenntartott | tartózkodó |
ÉRINT | nem fenntartott | nem fenntartott | nem fenntartott |
ZÁRÓ | tartózkodó | nem fenntartott | tartózkodó |
TRANZAKCIÓ | nem fenntartott | nem fenntartott | nem fenntartott |
TRANZAKCIÓK | nem fenntartott | nem fenntartott | nem fenntartott |
ÁTALAKÍT | nem fenntartott | nem fenntartott | nem fenntartott |
TRIM | nem fenntartott | nem fenntartott | nem fenntartott |
IGAZ | nem fenntartott | nem fenntartott | tartózkodó |
MEGCSONKÍT | nem fenntartott | nem fenntartott | tartózkodó |
TRY_CAST | nem fenntartott | nem fenntartott | nem fenntartott |
TÍPUS | nem fenntartott | nem fenntartott | nem fenntartott |
ARCHIVÁLATLAN | nem fenntartott | nem fenntartott | nem fenntartott |
KORLÁTOS | nem fenntartott | nem fenntartott | nem fenntartott |
UNCACHE | nem fenntartott | nem fenntartott | nem fenntartott |
UNIÓ | tartózkodó | szigorúan nem fenntartott | tartózkodó |
EGYEDÜLÁLLÓ | tartózkodó | nem fenntartott | tartózkodó |
ISMERETLEN | tartózkodó | nem fenntartott | tartózkodó |
KINYIT | nem fenntartott | nem fenntartott | nem fenntartott |
FOGLALATBÓL KIVESZ | nem fenntartott | nem fenntartott | nem fenntartott |
UPDATE | nem fenntartott | nem fenntartott | tartózkodó |
USE | nem fenntartott | nem fenntartott | nem fenntartott |
FELHASZNÁLÓ | tartózkodó | nem fenntartott | tartózkodó |
HASZNÁL | tartózkodó | szigorúan nem fenntartott | tartózkodó |
ÉRTÉKREND | nem fenntartott | nem fenntartott | tartózkodó |
MEGTEKINTÉS | nem fenntartott | nem fenntartott | nem fenntartott |
KILÁTÁS NYÍLIK | nem fenntartott | nem fenntartott | nem fenntartott |
Amikor… | tartózkodó | nem fenntartott | tartózkodó |
WHERE | tartózkodó | nem fenntartott | tartózkodó |
ABLAK | nem fenntartott | nem fenntartott | tartózkodó |
WITH | tartózkodó | nem fenntartott | tartózkodó |
YEAR | nem fenntartott | nem fenntartott | nem fenntartott |
ÖVEZET | nem fenntartott | nem fenntartott | nem fenntartott |