Les types de données internes (built-in) d' Oracle

Code interne

TYPE

DESCRIPTION

Minimum Maximum Exemples de valeurs
1 VARCHAR2 (taille)
NVARCHAR2 (taille)
Chaîne de caractères de longueur variable
Chaîne de caractères de longueur variable utilisant le jeu de car. national
1 car. 2000 car.

'A'

'Bonjour DD'

2 NUMBER [(taille[,precision])] Numérique. (prec<=38, exposant max -84 +127) 10 exp -84 10 exp 127 10.9999
8

LONG (taille)

Chaîne de caractères de longueur variable.

1 car. 2 giga car. 'AAAHHHHHH...HHH'
12

DATE

Date (du siècle à la seconde)

01/01/-4712
(avant J.C)
31/12/9999

'10-FEB-04'
'10/02/04'
(dépend du format d'affichage ou du paramétrage local)

23

RAW (taille)

Données binaires devant être entrées en notation hexadécimale. Taille : 1 à 255 caractères

1 octet 2000 octets  
24

LONG RAW (taille)

Données binaires devant être entrées en notation hexadécimale.

1 octet 2 GO  
69

ROWID

Type réservé à la pseudo-colonne ROWID. Ne peut être utilisé.

     
96 CHAR (taille)
NCHAR (taille)
Chaîne de caractères de longueur fixe
Chaîne de caractères de longueur fixe utilisant le jeu de car. national
1 car. 255 car. 'AZERTY'
'W'
112 CLOC
NCLOB
LOB de type caractère mono byte ou
multi-bytes utilisant le jeu de car. national
1 octet 4 giga car.  
113 BLOB BLOB ! gros objet binaire 1 octet 4 giga car.  
114

BFILE

pointeur vers un fichier binaire externe

1 octet 4 giga car.  
180 TIMESTAMP (fractional_seconds_precision)

Year, month, and day values of date, as well as hour, minute, and second values of time, where fractional_seconds_precision is the number of digits in the fractional part of the SECOND datetime field. Accepted values of fractional_seconds_precision are 0 to 9. The default is 6.

     
181 TIMESTAMP (fractional_seconds_precision) WITH LOCAL TIME ZONE
All values of TIMESTAMP WITH TIME ZONE, with the following exceptions:Data is normalized to the database time zone when it is stored in the database.
When the data is retrieved, users see the data in the session time zone.
     
182 INTERVAL YEAR (year_precision) TO MONTH Stores a period of time in years and months, where year_precision is the number of digits in the YEAR datetime field. Accepted values are 0 to 9. The default is 2      
183 INTERVAL DAY (day_precision) TO SECOND (fractional_seconds_precision)

Stores a period of time in days, hours, minutes, and seconds, where day_precision is the maximum number of digits in the DAY datetime field. Accepted values are 0 to 9. The default is 2.
fractional_seconds_precision is the number of digits in the fractional part of the SECOND field. Accepted values are 0 to 9. The default is 6.

     
208 UROWID [(size)]

 

Adresse logique d'une ligne (chaîne de caractère en base 64) d'une table organisée en index
Base 64 string representing the logical address of a row of an index-organized table. The optional size is the size of a column of type UROWID. The maximum size and default is 4000 bytes.

     
231 TIMESTAMP (fractional_seconds_precision) WITH LOCAL TIME ZONE
All values of TIMESTAMP WITH TIME ZONE, with the following exceptions: Data is normalized to the database time zone when it is stored in the database. When the data is retrieved, users see the data in the session time zone.
     

Pour tester ou vérifier le stockage interne des données par Oracle, on utilisera agréablement les fonctions SQL DUMP et VSIZE qui donnent respectivement le contenu binaire codé en décimal d'une colonne et sa taille physique.

Ainsi
SELECT DUMP('MATT') FROM dual donne
et
SELECT VSIZE('MATT') FROM dual donne
moins évident (car les réels sont stockés avec une longueur variable directement fonction du nombre de chiffres significatifs)
SELECT VSIZE (3000000000000) FROM dual donne XX !

Pseudo colonnes

seq1.CURRVAL

Donne le dernier numéro de séquence utilisé de la séquence séquence1.

seq1.NEXTVAL

Donne le prochain numéro de séquence de la séquence séquence1 qui sera affecté.

ROWID

adresse physique de la ligne.Exemple : 0000FFFF.FF0C.0022
8 premiers caractères : adresse du bloc dans le fichier database.
Caractères 10 à 13 : rang de l'enregistrement dans le bloc (à partir de 0)
Caractères 15 à 18 : numéro du fichier database (à partir de 1).

ROWNUM

Indique le rang avec lequel l'enregistrement a été trouvé. Est calculé avant l'exécution de l'ORDER BY.

SYSDATE

Date courante

LEVEL

niveau de profondeur de l'enregistrement dans l'arborescence. Le numéro 1 est attribué au niveau racine de l'arborescence sélectionnée (s'utilise avec la clause CONNECT BY)

 


(c) 2002- 2006 Didier Deléglise


modifié
le 20/11/2006

Ecrire a DD
ecris
moi


les forums techniques Oracle

mon BLOG Oracle,
en Francais
connaitre DD
l'autre vie
de DD

mon CV

trucs
et astuces

JOBs Oracle
du jour
Homepage "Tout sur Oracle"
Mon site :
Tout sur Oracle (et le web)
Copyright (C) 2002
Utilisation de ces documents