sql >> Database teknologi >  >> RDS >> Oracle

Oracle Datatyper

Når du opretter en Oracle-tabel, skal du angive en datatype for hver kolonne, som er knyttet til et specifikt lagerformat, begrænsninger og et gyldigt værdiområde. Kendskab til datatyper er nødvendig, før du opretter tabellen. Her i denne artikel vil vi se vigtige oracle-datatyper, som du vil bruge i PLSQL, SQL ret ofte, mens du arbejder med Oracle-databasen

Oracle leverer følgende kategorier af indbyggede datatyper:
Tegndatatyper
Numeriske datatyper
DATO-datatype
LOB-datatyper
RAW- og LONG RAW-datatyper
ROWID- og UROWID-datatyper

Tegndatatype

-CHAR, NCHAR, VARCHAR2 &NVARCHAR2.

CHAR-datatypen er en alfanumerisk streng med fast længde, som har en maksimal længde i bytes.

-Når du opretter en CHAR-datatype, vil databasen bevare plads til de indgående data, og hvis dataene er kortere end maksimal størrelse, vil de blive polstret med mellemrum til højre

For eksempel, hvis du erklærer en variabel/kolonne af CHAR (5) datatypen, så vil det altid tage 5 bytes, uanset om du gemmer 1 tegn eller 5 tegn i denne variabel eller kolonne. Og i dette eksempel, da vi har erklæret denne variabel/kolonne som CHAR(5), så kan vi gemme max 5 tegn i denne kolonne.

- VARCHAR2-datatypen er en alfanumerisk streng med variabel længde, som har en maksimal længde i bytes. Den kan gemme op til 4000 bytes.

VARCHAR2 er en datatype med variabel længde. For eksempel, hvis du erklærer en variabel/kolonne af VARCHAR 2(10) datatypen, vil den tage antallet af bytes svarende til antallet af tegn gemt i denne kolonne. Så i denne variabel/kolonne, hvis du kun gemmer et tegn, vil det kun tage en byte, og hvis vi gemmer 10 tegn, vil det tage 10 byte. Og i dette eksempel, da vi har erklæret denne variabel/kolonne som VARCHAR2 (10), så kan vi gemme max 10 tegn i denne kolonne. Den udnyttede plads vil afhænge af værdierne i kolonnen, og der vil ikke være spild af plads.

Jeg vil også her understrege én ting, at når vi giver VARCHAR2(10) her er 10 antallet af bytes ikke tegnet. Antallet af tegn og bytes er ens, når ASCII-tegn er involveret, men ligningen bliver ændret, vi begynder at bruge andre tegn end 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

- VARCHAR-datatypen er synonym med VARCHAR2-datatypen. For at undgå mulige ændringer i adfærd skal du altid bruge VARCHAR2-datatypen til at gemme tegnstrenge med variabel længde.

-NCHAR og NVARCHAR2 er Unicode-datatyper, der gemmer Unicode-tegndata. Tegnsættet af NCHAR- og NVARCHAR2-datatyper kan kun være enten AL16UTF16 eller UTF8 og specificeres på tidspunktet for oprettelse af databasen som det nationale tegnsæt. AL16UTF16 og UTF8 er begge Unicode-kodning.

Example

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

Taldatatype

-NUMBER eller NUMBER(p,s)

- NUMBER(p,s) datatypen gemmer tal med præcision og skala.

– NUMBER datatype gemmer op til 38 cifre med præcision

-Numeriske datatyper gemmer negative og positive heltal med faste kommatal og flydende tal

-Når en kolonne er defineret som NUMBER (6, 2), kan værdiintervallet lagres fra –9999,99 til 9999,99. Så vi har det samlede ciffer som 6 og 4 cifre før decimal og 2 cifre efter decimal Oracle runder de flydende tal.

Example

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

Dato og tid

–DATE, TIME STAMP (med tidszone eller lokal tidszone),

-Datatypen DATE bruges til at gemme oplysninger om dato og klokkeslæt.

-Denne datatype har en række specifikke funktioner til at manipulere, formatere og se dens data.

-Datatypen DATE rummer lagring af syv bytes og har information om århundrede, år, måned, dag, timer, minutter og sekunder.
-NLS_DATE_FORMAT-parameteren kan ændres for at styre visningen af ​​dataene. Funktionen SYSDATE returnerer den aktuelle dato

– Oracle-databasen giver også tidszone-bevidst DATE-datatype

TIDSSTIMPEL MED TIDZONE
TIDSSTIMPEL MED LOKAL TIDZONE

 Example

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

Store objekter

-BLOB(binært stort objekt) , CLOB(karakter stort objekt) , NCLOB &BFILE

-Kolonner af disse datatyper kan gemme ustrukturerede data, herunder tekst, billede, video og rumlige data. -CLOB-datatypen kan gemme op til otte terabyte tegndata ved hjælp af CHAR-databasens tegnsæt.

-BLOB-datatypen bruges til at gemme ustrukturerede binære store objekter, såsom dem, der er forbundet med billed- og videodata, hvor dataene blot er en strøm af "bit"-værdier.

-BFILE-datatypeværdien fungerer som en fillokalisator eller pointer til fil på serverens filsystem. Den maksimale understøttede filstørrelse er 8 TB til 128 TB.

Lang

Tegndata med variabel længde op til 2 G

ruvid

Et 64-basetalsystem, der repræsenterer den unikke adresse på rækken i tabellen

Håber du kan lide dette indhold på Oracle-datatyper

Relaterede artikler

Oracle-indekser
Oracle-interviewspørgsmål
Datofunktioner i Oracle
INSERT-sætning i Oracle
Opdater sætning i Oracle
hvordan man kontrollerer alle begrænsninger på en tabel i Oracle
https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832


  1. Liste kolonner med indekser i PostgreSQL

  2. hvordan man konverterer csv til tabel i oracle

  3. Sådan tilslutter du dig på flere kolonner

  4. Tilslutning til Vertica i IRI Workbench