Sursa: http://ss64.com/ora/syntax-datatypes.html
şi Oracle
Tip de dată | Descriere | |||||||||||||||||||||
CHAR(n {[BYTE | CHAR]}) | Defineşte o coloană ce memorează valori alfanumerice, de lungime fixă. Cu BYTE (valoare implicită) se precizează
că lungimea este dată în octeţi, iar cu CHAR în caractere (pentru lungimea efectivă a coloanei se ia
în considerare şi setul de caractere folosit la crearea bazei de date. Lungimea valorilor (precizat de argument) este cuprinsă între 1-2000 octeţi. Dacă valoarea ce se introduce este mai scurtă decât lungimea coloanei, atunci la valoare se adaugă spaţii. Dacă valoarea introdusă este mai lungă decât lungimea coloanei, atunci apare o eroare. Dacă valoarea introdusă este mai lungă decât lungimea coloanei, dar caracterele excedentare sunt spaţii, atunci acestea sunt eliminate. |
|||||||||||||||||||||
VARCHAR2(n {[BYTE | CHAR]}) | Defineşte o coloană ce memorează valori alfanumerice, de lungime variabilă.
Lungimea maximă a valorilor (precizat de argument) este cuprinsă între 1-4000 cteţi. Dacă valoarea ce se introduce este mai scurtă decăt lungimea coloanei, atunci se memorează această valoare fără să se adauge spaţii. Dacă valoarea introdusă este mai lungă decăt lungimea coloanei, atunci apare o eroare. Dacă valoarea introdusă este mai lungă decăt lungimea coloanei, dar caracterele excedentare sunt spaţii, atunci acestea sunt eliminate. |
|||||||||||||||||||||
NCHAR(n) | Defineşte o coloană ce memorează valori alfanumerice dintr-un anumit set de caractere (precizat la crearea bazei de date), de lungime fixă (un caracter se poate memora pe 1, 2, 3 octeţi). Lungimea valorilor (precizat de argument şi de setul de caractere) este cuprinsă între 1-2000 octeţi. | |||||||||||||||||||||
NVARCHAR2(n) | Defineşte o coloană ce memorează valori alfanumerice dintr-un anumit set de caractere, de lungime variabilă. Lungimea maximă a valorilor (precizat de argument) este cuprinsă între 1-4000 octeţi. | |||||||||||||||||||||
NUMBER[(p[,s])] | ![]() Valoarea p poate fi între 1 şi 38 (valoarea implicită este 38). Valoarea lui s poate fi între -84 şi 127 (valoarea implicită este 0). Imaginea alăturată arată cifrele care se memorează (zona haşurată).
|
|||||||||||||||||||||
BINARY_FLOAT | Defineşte o coloană ce poate memora numere în virgulă flotantă, simplă precizie.
Lungimea zonei unde se memorează valoarea este de 5 octeţi. Valorile absolute ale acestor date sunt cuprinse între 1.17549E-38 şi 3.40282E+38. |
|||||||||||||||||||||
BINARY_DOUBLE | Defineşte o coloană ce poate memora numere în virgulă flotantă, dublă precizie. Lungimea zonei unde se memorează valoarea este de 9 octeţi. Valorile absolute ale acestor date sunt cuprinse între 2.22507485850720E-308 şi 1.79769313486231E+308. | |||||||||||||||||||||
RAW(n) | Defineşte valori binare cu lungimea maximă dată în argument. Lungimea maximă a valorilor este 2000 octeţi. | |||||||||||||||||||||
LONG RAW | Defineşte valori binare cu lungimea variabilă. Lungimea maximă a valorilor este 2GB. | |||||||||||||||||||||
CLOB | Siruri de caractere de lungime maximă (4 gigabytes - 1) * (dimensiunea_blocului). | |||||||||||||||||||||
NCLOB | National Character Large Object. Siruri de caractere dintr-un anumit set de caractere, de lungime maximă (4 gigabytes - 1) * (dimensiunea_blocului). |
|||||||||||||||||||||
BLOB | Date binare (Binary Large Object) cu lungimea maximă de (4 gigabytes - 1) * (dimensiunea_blocului). | |||||||||||||||||||||
ROWID | Valoarea coloanelor de acest tip identifică o linie dintr-un tabel ce nu apartine unui cluster. O astfel de valoare reprezintă cel mai rapid mod de a accesa o linie dintr-un tabel şi se foloseşte la construirea indecşilor. |
|||||||||||||||||||||
UROWID | Valori ce identifică o linie dintr-un tabel secvenţial indexat. | |||||||||||||||||||||
DATE | Defineşte o coloană ce poate memora o dată calendaristică şi timpul între
1 ianuarie 4712 i.e.n. şi 31 decembrie 9999 e.n. Dimensiunea rezervată pentru aceste valori este de 7 octeţi (se foloseşte un format intern de memorare). Acest tip de dată memorează: patru cifre pentru an (între -4712 şi 9999), şi câte două cifre pentru luna (01-11), zi (01-31, valoarea efectivă depinde de an şi lună), orele (00-23), minutele (0-59) şi secundele (0-59) scurse de la miezul nopţii. Formatul pentru aceste date este prezizat explicit de parametrul NLS_DATE_FORMAT sau implicit de parametrul NLS_TERRITORY. Metode de precizare de valori DATE ca şi constante:
|
|||||||||||||||||||||
TIMESTAMP [(n)] | Valoarea este o dată calendaristică şi timp (ora, minut, secunda, fracţiune de secundă).
Valoarea n din clauza de definire a datei precizează numărul de cifre din partea fracţională
a numărului de secundă (de exemplu, pentru secunde poate apare valoarea 15.234567).
Valoarea lui n poate fi între 0 şi 9, valoarea implicită este 6. Dimensiunea zonei pentru memorarea datei de acest tip este între 7 şi 11 octeţi (dimensiunea depinde de precizia solicitată). Formatul acestei date depinde de parametrii amintiţi la tipul date. Exemplu de constantă pentru acest tip de dată: TIMESTAMP '1997-01-31 09:26:50.124' |
|||||||||||||||||||||
TIMESTAMP (n) WITH [LOCAL] TIME ZONE | Cu opţiunea WITH TIME ZONE se extinde tipul TIMESTAMP prin memorarea unei diferenţe între ora locală şi ora universală (GMT). Cu opţiunea WITH LOCAL TIME ZONE se defineşte un tip de dată similar cu cel definit prin WITH TIME ZONE, dar se face conversia la timpul local (nu se mai memorează diferenţe faţă de ora GMT). Exemplu de constantă pentru acest tip de dată: TIMESTAMP '2012-03-08 12:34:56.78 +02:00' |
|||||||||||||||||||||
INTERVAL YEAR (precizia_ani) TO MONTH | Valoarea memorează un interval de timp precizat în ani şi luni.
Argumentul n (cu valoarea implicită 2) precizează numărul de cifre folosite pentru memorarea numărului de ani. Dimensiunea zonei unde se memorează acest tip de dată este de 5 octeţi. Modul de precizare a unei valori de acest tip ca şi constantă este: INTERVAL 'integer [- integer]' {YEAR | MONTH} [(precizia)] [TO {YEAR | MONTH}]
|
|||||||||||||||||||||
INTERVAL DAY (precizie_zi) TO SECOND (precizie_secunda) | Valoarea memorează un interval de timp în zile, ore, minute, secunde. Primul argument precizează numărul de cifre
din numărul de zile (între 0 şi 9, valoarea implicită este 2), iar al doilea argument este numărul de cifre din
memorarea părţii fracţională din secundă (între 0 şi 9, valoarea implicită este 6). Dimensiunea zonei unde se memorează acest tip de dată este de 11 octeţi. |
|||||||||||||||||||||
BFILE | Un pointer la un fişier extern bazei de date. | |||||||||||||||||||||
XMLType | Tip de dată XML. | |||||||||||||||||||||
tip de dată utilizator |
ANSI SQL Datatype | Oracle Datatype | Observatii |
CHARACTER(n) | CHAR(n) | |
CHARACTER VARYING(n) CHAR VARYING(n) | VARCHAR2(n) | |
NATIONAL CHARACTER(n) NATIONAL CHAR(n)NCHAR(n) | NCHAR(n) | |
NATIONAL CHARACTER VARYING(n) NATIONAL CHAR VARYING(n)NCHAR VARYING(n) | NVARCHAR2(n) | |
DECIMAL(p,s) | NUMBER(p,s) | |
INTEGER INT SMALLINT | NUMBER(38) | |
FLOAT[(b)] DOUBLE PRECISION REAL | NUMBER | Valoarea b (între 1 şi 126) precizează precizia (în număr de biţi). Valoarea implicită este 126 (corespunzătoare la NUMBER(38)). |