2012/12/19

Oracle Veri Tipleri


Veri saklamak için veritabanında bir tablo oluşturulduğu zaman tabloda her bir sütun için bir veri tipi tanımlanmişdır.Bir cok veri tipi mövcutdur.Bunları şöyle sıralayabiliriz;

Katagori
Veri Tipleri
Karakter
CHAR,VARCHAR2…
Sayisal
NUMBER
Long ve raw
LONG,LONG RAW,RAW
Tarih ve zaman
DATE,TIMESTAMP,INTERVAL YEAR TO MOUNTH,INTERVAL VAL DAY SECOND…
Buyuk nesneler
CLOB,NCLOB,BFILE…
Row id
ROWID,UROWID

 CHAR:Veritabanı belirtilen büyüklük degerinin tamamen doldurulmasını sağlar.Büyüklügü en küçük 1 byte ve en büyük 2000 bytedır.1 byte’I 1 karakter olarak düşünmekdedir.Yani veritabanına char(10) yazdıgımızda veri tabanında ne olursa olsun 10 bytelık yer ayıracakdır.Siz oraya 1 karakter girseniz bile o yine 10 bytelık yer kaplıyacakdır.
VARCHAR2:Mutlaka büyüklük degeri belirtilmelidir ve yazı karakter kadar veritabanında yer kaplar.Büyüklügü en küçük 1 byte ve en büyük 4000 bytedır.Char veritipi ile Varchar2 veritipi arasındaki önemli bir farklılıkda karşılaştırma işlemleri ile ilgilidir.Char veritipinde verinin sonuna eklenen bosluk karakteri ihmal ederken,varchar2 veritipinde dikkate alınır.
       ÖRNEK:
  • Char veritipi: ‘ENSAR’=’ENSAR 
  • Varchar2 veritipi:’ENSAR’<’ENSAR  ’

NUMBER: Sayıları tam kısım ve ondalıklı kısım olarak saklamaktadır.Tam kısmıı 1-38 rakam ve ondalıklı kısmı -87 ile 127 sayıları arasında olabilir.
Tam ve Ondalikli Sayı Örnekleri

DEGER
VERITIPI
ALINANDEGER
ACIKLAMA
123,2564
Number
123,2546
Tam ve ondalık kısım belirtilmedigi için max deger alındı.
1234,9876
Number(6,2)
1234,99
ondalık kısım 2 ve sayı yuvarlandı.
1234,9876
Number(6)
12345
Ondalık kısım tam kısma yuvarlandı.
123456,1
Number(6)
123456
ondalık kısım yuvarlandı.
12345,345
Number(5,-2)
12300
Negative ondalık kısım virgülün soluna yuvarlandı.
1234567
Number(5,-2)
1234600
Yuvarlama yapıldı.
123456789
Number(5,-4)
123460000
Ondalık kısma göre yuvarlandı.
12345,58
Number(*,1)
12345,6
* Max değer ifade eder.tam kısım 38 rakam olabilir.

DATE:Veri tipi tarihi ve zaman bilgileri tutmak için kullanılır. Sayısal yada karakter degerleri to_date fonksiyonu ile degiştirilir.
Sysdate fonksiyonu bize bulunan anın tarih ve zaman degerini verir.
  •     Select sysdate from dual;

Date  veri tipine ait bir veriyi istediğimiz format da alabilmek için to_char fonksiyonu ile birlik de bir takim maskeler kullanılmaktadır.Bunlardan bazıları şunlardır;
AM
AM veya PM yazar
CC
Yüzyıl degeri
D
Sayısal olarak haftanın günü (1-7)
DAY
Günün açik yazılışı (pazar)
DD
Sayısal olarak ayın günü(1-31)
DDD
Sayısal olarak yılın günü
DY
Günün kısa yazılışı (paz)
HH
12lik formatda günün saati
HH24
24lik formatda günün saati
MI
Saat içindeki dakika (1-59)
MM
İki rakamlı ay (01)
MON
Ayın kısa yazılışı (haz)
MONTH
Ayın uzun yazılışı (haziran)
PM
AM ve PM yazar
SS
Dakika içindeki saniye (1-59)
SSSS
Günün içindeki saniye (gecen gece yarısından itibaren gecen saniye)
W
Ayın haftası
WW
Yılın haftası
YEAR
Yılın yazı ile ifadesi
YY
İki rakamlI yıl(04)
YYYY
Dört  rakamlı yıl(2004)

Bu yazımda Oracle veritipleri hakkında en çok kullanılan ve ögrenilmesi gerekli bilgileri vermeye ve yardımcı olmaya calıştım.İyi okurlar.

Hiç yorum yok:

Yorum Gönder