Oracle
 sql >> база данни >  >> RDS >> Oracle

Типове данни на Oracle

Когато създавате таблица на Oracle, трябва да посочите тип данни за всяка колона, която е свързана с конкретен формат за съхранение, ограничения и валиден диапазон от стойности. Познаването на типовете данни е необходимо преди създаването на таблицата. Тук в тази статия ще видим важни типове данни на Oracle, които ще използвате в PLSQL, SQL доста често, докато работите с база данни на Oracle

Oracle предоставя следните категории вградени типове данни:
Типове данни за знаци
Числови типове данни
Тип данни DATE
LOB типове данни
Типове данни RAW и LONG RAW
Типове данни ROWID и UROWID

Тип данни за знаци

-CHAR, NCHAR, VARCHAR2 &NVARCHAR2.

Типът данни CHAR е буквено-цифров низ с фиксирана дължина, който има максимална дължина в байтове.

-Когато създавате тип данни CHAR, базата данни ще запази място за входящите данни и ако данните са по-къси от максималния размер, те ще бъдат подплатени отдясно

Например, ако декларирате променлива/колона от тип данни CHAR (5), тогава тя винаги ще отнеме 5 байта, независимо дали съхранявате 1 знак или 5 знака в тази променлива или колона. И в този пример, тъй като сме декларирали тази променлива/колона като CHAR(5), така че можем да съхраняваме максимум 5 знака в тази колона.

-Типът на данни VARCHAR2 е буквено-цифров низ с променлива дължина, който има максимална дължина в байтове. Може да съхранява до 4000 байта.

VARCHAR2 е тип данни с променлива дължина. Например, ако декларирате променлива/колона от тип данни VARCHAR 2(10), тя ще отнеме броя байтове, равен на броя на знаците, съхранени в тази колона. Така че, в тази променлива/колона, ако съхранявате само един знак, тогава той ще отнеме само един байт и ако съхраняваме 10 символа, тогава ще отнеме 10 байта. И в този пример, тъй като сме декларирали тази променлива/колона като VARCHAR2 (10), така че можем да съхраняваме максимум 10 знака в тази колона. Използваното пространство ще зависи от стойностите в колоната и няма да има загуба на място.

Тук също бих подчертал едно нещо, че когато даваме VARCHAR2(10), тук 10 е броят на байтовете, а не символът. Броят на знаците и байтовете са сходни, когато са включени ASCII символи, но уравнението се променя, започваме да използваме символ, различен от 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 е синоним на типа данни VARCHAR2. За да избегнете възможни промени в поведението, винаги използвайте типа данни VARCHAR2, за да съхранявате низове от знаци с променлива дължина.

-NCHAR и NVARCHAR2 са Unicode типове данни, които съхраняват Unicode символни данни. Наборът от знаци от типовете данни NCHAR и NVARCHAR2 може да бъде само AL16UTF16 или UTF8 и се посочва при създаването на базата данни като национален набор от знаци. AL16UTF16 и UTF8 са кодиращи Unicode.

Example

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

Тип данни за число

-NUMBER или NUMBER(p,s)

-Типът данни NUMBER(p,s) съхранява числото с точност и мащаб.

– NUMBER тип данни съхранява до 38 цифри с точност

-Числови типове данни съхраняват отрицателни и положителни цели числа числа с фиксирана запетая и числа с плаваща запетая

-Когато колона е дефинирана като ЧИСЛО (6, 2), диапазонът от стойности може да се съхранява от –9999,99 до 9999,99. Така че имаме обща цифра като 6 и 4 цифри преди десетичната и 2 цифра след десетичната запетая. Oracle закръгля числата с плаваща запетая.

Example

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

Дата и час

–ДАТА, ЧАС (с часова зона или местна часова зона),

-Типът данни DATE се използва за съхраняване на информация за дата и час.

-Този тип данни има редица специфични функции за манипулиране, форматиране и преглед на данните.

-Типът данни DATE съдържа съхранение от седем байта и има информация за век, година, месец, ден, часове, минути и секунди.
-Параметърът NLS_DATE_FORMAT може да бъде променен, за да се контролира прегледът на данните. Функцията SYSDATE връща текущата дата

– Базата данни на Oracle също предоставя тип данни DATE, който знае часовата зона

ПЕЧАТА ЗА ВРЕМЕ СЪС ЧАСОВА ЗОНА
ПЕЧАТА С МЕСТНА ЧАСОВА ЗОНА

 Example

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

Големи обекти

-BLOB(двоичен голям обект) , CLOB(знак голям обект) , NCLOB &BFILE

-Колоните от тези типове данни могат да съхраняват неструктурирани данни, включително текст, изображение, видео и пространствени данни. -Типът данни CLOB може да съхранява до осем терабайта символни данни, използвайки набора от знаци на базата данни CHAR.

-Типът данни BLOB се използва за съхраняване на неструктурирани двоични големи обекти, като тези, свързани с изображения и видео данни, където данните са просто поток от „битови“ стойности.

-Стойността на типа данни BFILE работи като файлов локатор или указател към файл във файловата система на сървъра. Максималният поддържан размер на файла е от 8 TB до 128 TB.

Дълга

Знакови данни с променлива дължина до 2 G

рядов

64-основна числова система, представляваща  уникалния адрес на реда в таблицата

Надяваме се, че ви харесва това съдържание за типове данни на Oracle

Сродни статии

Индекси на Oracle
Въпроси за интервю на Oracle
Функции за дата в Oracle
Инструкция INSERT в Oracle
Изявление за актуализиране в oracle
как да проверите всички ограничения на таблица в oracle
https://docs.oracle.com/cd/B28359_01/server.111/b28318/datatype.htm#CNCPT1832


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. TRANSLATE(… ИЗПОЛЗВАНЕ) Функция в Oracle

  2. Свързване на SQL Server към Oracle

  3. Как да издигна изключение в PL/SQL?

  4. ORA-00904 Невалиден идентификатор” за идентификатор в група по клауза

  5. Какъв е минималният клиентски отпечатък, необходим за свързване на C# към база данни на Oracle?