sql >> Databasteknik >  >> RDS >> Oracle

Oracle Datatyper

När du skapar en Oracle-tabell måste du ange en datatyp för varje kolumn, som är associerad med ett specifikt lagringsformat, begränsningar och ett giltigt värdeintervall. Kunskapen om datatyper är nödvändig innan tabellen skapas. Här i den här artikeln kommer vi att se viktiga oracle-datatyper som du kommer att använda i PLSQL, SQL ganska ofta när du arbetar med Oracle-databasen

Oracle tillhandahåller följande kategorier av inbyggda datatyper:
Teckendatatyper
Numeriska datatyper
Datatyp för DATUM
LOB-datatyper
RAW- och LONG RAW-datatyper
ROWID- och UROWID-datatyper

Teckendatatyp

-CHAR, NCHAR, VARCHAR2 &NVARCHAR2.

CHAR-datatypen är en alfanumerisk sträng med fast längd som har en maximal längd i byte.

-När du skapar en CHAR-datatyp kommer databasen att bevara utrymme för inkommande data och om data är kortare än maximal storlek kommer den att fyllas med mellanslag till höger

Till exempel, om du deklarerar en variabel/kolumn av datatypen CHAR (5), kommer det alltid att ta 5 byte oavsett om du lagrar 1 tecken eller 5 tecken i denna variabel eller kolumn. Och i det här exemplet, eftersom vi har deklarerat denna variabel/kolumn som CHAR(5), så kan vi lagra max 5 tecken i den här kolumnen.

- VARCHAR2-datatypen är en alfanumerisk sträng med variabel längd, som har en maximal längd i byte. Den kan lagra upp till 4000 byte.

VARCHAR2 är en datatyp med variabel längd. Till exempel, om du deklarerar en variabel/kolumn av datatypen VARCHAR 2(10), kommer det att ta antalet byte lika med antalet tecken som lagras i den här kolumnen. Så, i den här variabeln/kolumnen, om du bara lagrar ett tecken, tar det bara en byte och om vi lagrar 10 tecken, kommer det att ta 10 byte. Och i det här exemplet, eftersom vi har deklarerat denna variabel/kolumn som VARCHAR2 (10), så kan vi lagra max 10 tecken i denna kolumn. Det utrymme som används beror på värdena i kolumnen och det kommer inte att finnas slöseri med utrymme.

Jag vill också betona här en sak att när vi ger VARCHAR2(10) här är 10 antalet bytes inte tecknet. Antal tecken och bytes är lika när ASCII-tecken är inblandade, men ekvationen ändras börjar vi använda andra tecken än 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 är synonym med VARCHAR2-datatypen. För att undvika eventuella förändringar i beteende, använd alltid datatypen VARCHAR2 för att lagra teckensträngar med variabel längd.

-NCHAR och NVARCHAR2 är Unicode-datatyper som lagrar Unicode-teckendata. Teckenuppsättningen för NCHAR- och NVARCHAR2-datatyperna kan endast vara antingen AL16UTF16 eller UTF8 och specificeras vid tidpunkten för databasens skapande som den nationella teckenuppsättningen. AL16UTF16 och UTF8 är båda Unicode-kodning.

Example

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

Nummerdatatyp

-NUMBER eller NUMBER(p,s)

-Datatypen NUMBER(p,s) lagrar nummer med precision och skala.

– NUMBER datatyp lagrar upp till 38 siffror med precision

-Numeriska datatyper lagrar negativa och positiva heltal med fasta kommatal och flyttal

-När en kolumn definieras som NUMBER (6, 2), kan värdeintervallet lagras från –9999,99 till 9999,99. Så vi har totalsiffran som 6 och 4 siffror före decimal och 2 siffror efter decimal Oracle avrundar flyttalstalen.

Example

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

Datum och tid

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

-Datatypen DATE används för att lagra information om datum och tid.

-Denna datatyp har ett antal specifika funktioner för att manipulera, formatera och visa dess data.

-Datatypen DATE rymmer sju byte och har information om århundrade, år, månad, dag, timmar, minuter och sekunder.
-NLS_DATE_FORMAT-parametern kan ändras för att styra visningen av data. Funktionen SYSDATE returnerar det aktuella datumet

– Oracle-databasen tillhandahåller också tidszonsmedveten DATE-datatyp

TIDSTÄMPEL MED TIDZON
TIDSSTÄMPEL MED LOKAL TIDZON

 Example

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

Stora objekt

-BLOB(binärt stort objekt) , CLOB(tecken stort objekt) , NCLOB &BFILE

-Kolumner av dessa datatyper kan lagra ostrukturerad data inklusive text, bild, video och rumslig data. -CLOB-datatypen kan lagra upp till åtta terabyte teckendata med hjälp av CHAR-databasens teckenuppsättning.

- BLOB-datatypen används för att lagra ostrukturerade binära stora objekt som de som är associerade med bild- och videodata där data helt enkelt är en ström av "bitvärden".

-BFILE-datatypens värde fungerar som en fillokaliserare eller pekare till fil på serverns filsystem. Den maximala filstorleken som stöds är 8 TB till 128 TB.

Lång

Teckendata med variabel längd upp till 2 G

rovid

Ett 64 basnummersystem som representerar den unika adressen för raden i tabellen

Hoppas du gillar det här innehållet på Oracle-datatyper

Relaterade artiklar

Oracle Index
Oracle-intervjufrågor
Datumfunktioner i Oracle
INSERT-sats i Oracle
Uppdatera uttalande i Oracle
hur man kontrollerar alla begränsningar på en tabell i Oracle
https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832


  1. Ingen anslutning kunde göras eftersom målmaskinen aktivt vägrade det (PHP / WAMP)

  2. MariaDB DAY() Förklarad

  3. Introduktion till HDFS | Vad är HDFS och hur fungerar det?

  4. Ansluter PowerShell till Salesforce.com