ORACLE – PL/SQL Veri Tipleri
Merhabalar ,
Bu yazımda Oracle PL SQL veri tipleri nelerdir onlar hakkında yazacağım.
Metin – Karakter veri tipleri:
CHAR : Sabit uzunluklu karakter setlerini saklamak için kullanılır . Girilen her karakter için 1 byte yer tutar. Yalnız şu duruma dikkat etmeliyiz . Tanımlanan karakter uzunluğundan daha kısa bir veri saklamaya çalışırsak , kaydetmek istediğimiz verinin sonuna boşluk ekler .
Maksimum uzunluğu 8000 karakterdir . Her karakter için bir byte yer ayırır
VARCHAR: Karakter türünden veri tiplerini saklar . Maksimum uzunluğu 8000 karakterdir . Char veri tipinden farkı ise kaydetmek istediğimiz veri tipinin sonuna boşluk eklememesidir .
Maksimum uzunluğu 8000 karakterdir . Her karakter için bir byte yer ayırır
VARCHAR(MAX) : 2 GB kadar olan karakter setlerini tutar .
NCHAR : Char veri tipine çok benzerdir tek farkı karakter setini unicode olarak tutar . Bu nedenle her karakter veri tabanında 2 byte yer kaplar . Bu nedenle max 4000 karakter tanımlanabilir
NVARCHAR: Varchar veri tipine çok benzerdir tek farkı karakter setini unicode olarak tutar . Bu nedenle her karakter veri tabanında 2 byte yer kaplar . Bu nedenle max 4000 karakter tanımlanabilir
VARCHAR2 : Varchar veri tipinin yeni versiyonudur . Oracle artık Varchar2 kullanmamızı önerir . Tek farkı ise Varchar null değerlerde boşluk kaydeder . (space) . Varchar2 ise null değerlerde hiçbirşey insert etmez .
NVARCHAR2 : VARCHAR2 veri tipinden tek farkı her karakter 2 byte yer kaplar.
DATE : Tarih ve zaman bilgilerini tutmak için bu veri tipi kullanılır .
Tam Sayı Tipleri
BIT : Veritabanında fiziksel olarak 1 bayt veri saklar. 1 yada 0 değerini alır .
TINYINT : Veritabanında 1 byte yer kaplar . 0 – 255 arası değer alır
SMALLINT : Veritabanında 2 byte yer kaplar . -32768 ve 32767 arasında veri saklar
INT : 4 byte bir yer kaplar
BIGINT : 8 byte bir yer kaplar
INTEGER : ANSI standartlarından dolayı Oracle ın kabul etmiş olduğu veri tipidir. NUMBER(38) veri tipine karşılık gelir .
Onadalıklı sayı Tipleri
DECIMAL : Ondalıklı sayıları tutar. Scale den uzun bir veri geldiği durumda ondalıklı sayıları truncate eder
NUMBER : Ondalıklı sayıları tutar. Scale den uzun bir veri geldiği durumda round(yuvarlar) eder
Alttaki tabloda Number tanımlarına göre kaydedilen gerçek veriler listelenmiştir
Input Data | Specified As | Stored As |
---|---|---|
7,456,123.89 |
NUMBER |
7456123.89 |
7,456,123.89 |
NUMBER(*,1) |
7456123.9 |
7,456,123.89 |
NUMBER(9) |
7456124 |
7,456,123.89 |
NUMBER(9,2) |
7456123.89 |
7,456,123.89 |
NUMBER(9,1) |
7456123.9 |
7,456,123.89 |
NUMBER(6) |
(not accepted, exceeds precision) |
7,456,123.89 |
NUMBER(7,-2) |
7456100 |
Tarih Veri Tipleri
DATE : Veri tipinde zaman bilgilerini tutmak için kullanılır .
DD.MM.YYYY HH:MM:SS şeklinde tutulur . 30.09.2013 09:00:00
LOB(Large Object) Veri Tipleri
Büyük nesne veri tiplerinin amacı boyutu büyük olan verileri saklamaktır . (örneğin metin, grafik görüntüleri, video klipleri, ses vs. gibi )
LONG , RAW , LONG RAW : Bu veri tipleri günümüzde pek kullanılmaz . Asıl amacı eskiye yönelik desteği sağlamak . Bu tiplerin yerine BLOP , LOB , BFILE gibi veri tipleri kullanılır .
BLOB : Verileri binary olarak saklar. Max 128 TB a kadar veri saklar . Resim , video gibi dosyalar bu veri tipinde saklanabilir .
CLOB : Verileri karakter olarak saklar . Max 128 TB a kadar veri saklar . TXT dosyalarının içerisindeki verileri CLOB veri tipinde saklayabiliriz
BFILE : İşletim sistemindeki fiziksel dosyaların referansını saklamak için kullanılır .
NCLOP : Multi byte veri tipini saklar .
ROWID
ROWID : Veritabanında ilgili satırın adresini tutar . ROWID tanımladıktan sonra ilgili satırın ROWID değerinin değişmemesi lazım . Hızlı erişimlerde kullanışlıdır
UROWID : ROWID ile yapısı aynıdır . Fakat ROWID geçmişe yönelik destek amacıyla kullanılmaktadır . Oracle yeni versiyon olarak UROWID kullanır .
Diğer Veri Tipleri
BINARY_DOUBLE : Ondalıklı sayı değeri binary(1-0) olarak tutulur . Bu sayede ondalıklı sayılar üzerindeki işlemlerde yuvarlama , kırpma gibi durumlar olmaz
BINARY_FLOAT : Ondalıklı sayı değeri binary(1-0) olarak tutulur . Bu sayede ondalıklı sayılar üzerindeki işlemlerde yuvarlama , kırpma gibi durumlar olmaz
URITYPE : Bir URL adresinin bilgisi kaydedilir .
CHAR_VARYING : VARCHAR veri tipiyle aynıdır
CHARACTER_VARYING : VARCHAR veri tipiyle aynıdır
DOUBLE_PRECISION : NUMBER veri tipiyle aynıdır.
NATIONAL_CHAR : NCHAR tipiyle aynıdır .
REAL : FLOAT veri tipine karşılık gelir
Kaynak :
https://www.tutorialspoint.com/plsql/plsql_data_types.htm
İyi çalışmalar.