Oracle
 sql >> Base de données >  >> RDS >> Oracle

Types de données Oracle

Lorsque vous créez une table Oracle, vous devez spécifier un type de données pour chaque colonne, qui est associé à un format de stockage spécifique, des contraintes et une plage de valeurs valide. La connaissance des types de données est nécessaire avant de créer la table. Ici, dans cet article, nous verrons d'importants types de données oracle que vous utiliserez assez souvent dans PLSQL, SQL lorsque vous travaillez avec la base de données Oracle

Oracle fournit les catégories suivantes de types de données intégrés :
Types de données de caractères
Types de données numériques
Type de données DATE
Types de données LOB
Types de données RAW et LONG RAW
Types de données ROWID et UROWID

Type de données caractère

-CHAR, NCHAR, VARCHAR2 &NVARCHAR2.

Le type de données CHAR est une chaîne alphanumérique de longueur fixe qui a une longueur maximale en octets.

-Lors de la création d'un type de données CHAR, la base de données conservera de l'espace pour les données entrantes et si les données sont plus courtes que la taille maximale, elles seront remplies d'espace à droite

Par exemple, si vous déclarez une variable/colonne de type de données CHAR (5), cela prendra toujours 5 octets, que vous stockiez 1 caractère ou 5 caractères dans cette variable ou colonne. Et dans cet exemple, comme nous avons déclaré cette variable/colonne comme CHAR(5), nous pouvons donc stocker 5 caractères maximum dans cette colonne.

-Le type de données VARCHAR2 est une chaîne alphanumérique de longueur variable, qui a une longueur maximale en octets. Il peut stocker jusqu'à 4000 octets.

VARCHAR2 est un type de données de longueur variable. Par exemple, si vous déclarez une variable/colonne de type de données VARCHAR 2(10), elle prendra le nombre d'octets égal au nombre de caractères stockés dans cette colonne. Ainsi, dans cette variable/colonne, si vous stockez un seul caractère, cela ne prendra qu'un octet et si nous stockons 10 caractères, cela prendra 10 octets. Et dans cet exemple, comme nous avons déclaré cette variable/colonne comme VARCHAR2 (10), nous pouvons donc stocker 10 caractères maximum dans cette colonne. L'espace utilisé dépendra des valeurs de la colonne et il n'y aura pas de gaspillage d'espace.

Aussi, je voudrais souligner ici une chose que lorsque nous donnons VARCHAR2(10) ici, c'est 10 est le nombre d'octets et non le caractère. Le nombre de caractères et d'octets est similaire lorsque des caractères ASCII sont impliqués, mais l'équation est modifiée, nous commençons à utiliser des caractères autres que ASCII

The length semantics of character datatypes can be measured in bytes or characters.

Byte semantics treat strings as a sequence of bytes. This is the default for character datatypes.

Character semantics treat strings as a sequence of characters. A character is technically a codepoint of the database character set.

So VARCHAR (10 Byte) has length measured in byte. VARCHAR (10 CHAR)  has length measured in character.

The default for VARCHAR is based on NLS_LENGTH_SEMANTICS parameter set in the database. By default this is set to Byte,so when we use VARCHAR(10) , it uses length measured in byte

-Le type de données VARCHAR est synonyme du type de données VARCHAR2. Pour éviter d'éventuels changements de comportement, utilisez toujours le type de données VARCHAR2 pour stocker des chaînes de caractères de longueur variable.

-NCHAR et NVARCHAR2 sont des types de données Unicode qui stockent des données de caractères Unicode. Le jeu de caractères des types de données NCHAR et NVARCHAR2 ne peut être que AL16UTF16 ou UTF8 et est spécifié au moment de la création de la base de données comme jeu de caractères national. AL16UTF16 et UTF8 sont tous deux encodés Unicode.

Example

create table test  (
First_name char(6),
Last_name varchar2(10));

Type de données numérique

-NOMBRE ou NOMBRE(p,s)

-Le type de données NUMBER(p,s) stocke le nombre avec précision et échelle.

– Le type de données NUMBER stocke jusqu'à 38 chiffres de précision

-Les types de données numériques stockent des entiers négatifs et positifs, des nombres à virgule fixe et des nombres à virgule flottante

-Lorsqu'une colonne est définie comme NOMBRE (6, 2), la plage de valeurs peut être stockée de -9999,99 à 9999,99. Nous avons donc un chiffre total de 6 et 4 chiffres avant la décimale et 2 chiffres après la décimale. Oracle arrondit les nombres à virgule flottante.

Example

create table test  (
First_name char(6),
Last_name varchar2(10)
age number;
Salary number(10,2)
); 

Date et heure

–DATE, TIMESTAMP (avec fuseau horaire ou fuseau horaire local),

-Le type de données DATE est utilisé pour stocker les informations de date et d'heure.

-Ce type de données a un certain nombre de fonctions spécifiques pour manipuler, formater et visualiser ses données.

-Le type de données DATE contient un stockage de sept octets et contient des informations sur le siècle, l'année, le mois, le jour, les heures, les minutes et les secondes.
-Le paramètre NLS_DATE_FORMAT peut être modifié pour contrôler l'affichage des données. La fonction SYSDATE renvoie la date actuelle

–La base de données Oracle fournit également le type de données DATE sensible au fuseau horaire

HORODATAGE AVEC FUSEAU HORAIRE
HORODATAGE AVEC FUSEAU HORAIRE LOCAL

 Example

create table test  (
First_name char(6),
Last_name varchar2(10)
age number,
Salary number(10,2),
start_date date );

Gros objets

-BLOB(grand objet binaire) , CLOB(caractère grand objet) , NCLOB &BFILE

-Les colonnes de ces types de données peuvent stocker des données non structurées, notamment du texte, des images, des vidéos et des données spatiales. -Le type de données CLOB peut stocker jusqu'à huit téraoctets de données de caractères en utilisant le jeu de caractères de la base de données CHAR.

-Le type de données BLOB est utilisé pour stocker de grands objets binaires non structurés tels que ceux associés aux données d'image et vidéo où les données sont simplement un flux de valeurs "bit".

-La valeur du type de données BFILE fonctionne comme un localisateur de fichier ou un pointeur vers un fichier sur le système de fichiers du serveur. La taille de fichier maximale prise en charge est de 8 To à 128 To.

Longue

Données de caractères de longueur variable jusqu'à 2 G

ligne

Un système de nombres de base 64 représentant l'adresse unique de la ligne dans le tableau

J'espère que vous aimez ce contenu sur les types de données Oracle

Articles connexes

Index Oracle
Questions d'entretien Oracle
Fonctions de date dans Oracle
Instruction INSERT dans Oracle
Instruction de mise à jour dans oracle
comment vérifier toutes les contraintes sur une table dans oracle
https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832