Alfabetik Sıralama :ABCDEFGHIJKLMNOPQRSTUVWXYZ -


Oracle Database de date tipindeki bir alan için TO_CHAR fonksiyonu ile tarihi formatlayabilir,istediğiniz tarih şeklini elde edebilirsiniz.

Oracle da örnek bir date değeri 30-Kas-2005 12:00:00 AM (Oracle Lokasyon ayarlarına göre değişebilir)

iken TO_CHAR fonksiyonu ile bu tarihi biçimlendirebiliriz.


Kullanım :

SELECT TO_CHAR(TARIH_ALANI,´FORMAT_STRING´) FROM TABLO;

FORMAT_STRING dediğimiz alana tarih tipini hangi desene göre formatlayacağını bildiririz.Bu format çeşitlerini yazımızın devamında bulabilirsiniz.

Bu bilgilerden sonra diğer bir duruma gelmek istiyorum.

TO_CHAR fonksiyonunda bizim proje aşamamızda

SELECT TO_CHAR(TARIH_ALANI,´MONTH YYYY´) AS TARIH FROM TABLO_ADI;
gibi bir sorgu çıktısına ihtiyacım oldu.

Yani Aralık 2005 sonucunu elde ediyorduk.Oracle ScrachPad ile çıktıyı test ettiğimde "Aralık 2005 sonucunu!" aldım.Ve sorgumu jsp sayfamda kullanmak üzere statement içine yerleştirdim.

çıktıyı aldığımda Aralık 2005 yerine DECEMBER 2005 ile karşılaştım.Oracle ortamında (Lokasyon ayarları Türkçe) Aralık 2005 i elde ederken java tarafında ingilizce December ı elde ettim.hemen lokasyon ayarlarını değiştirmek aklıma geldi.

java.util.Locale lokasyon = new java.util.Locale("TR","tr");
java.util.Locale.setDefault(lokasyon);

fakat bu benim hiçbir işime yaramamıştı.Çünkü ben tablomdaki tarih alanını TO_CHAR ile formatlamış ve sonuçta string bir data elde etmiştim.Tekrar normal bir date objesi çekip SimpleDateFormat yapmak açıkçası işime gelmedi ve başladım araştırmaya.

Ve araştırmalarım sonucu TO_CHAR fonksiyonunun lokasyon ataması yapabileceğim 3. bir parametre aldığını öğrendim.Pekde işime geldi doğrusu :)

Kullanımını aktarayım.

TO_CHAR(TARIH_ALANI,´MONTH YYYY´,´nls_date_language=turkish´)

Bu sayede javayada türkçe öğretmiş oldum :P.Aslında türkçe biliyorda kendileri bana ingilizce öğreteyim diye ingilizce çıktı veriyormuş.Seni kereta seni....





30-Kas-2005 12:00:00 AM (Çarşamba) Bu örnekle çıktıları örneklendireceğim

AD  Ademden öncemi sonramı :)
A.D.  Milattan Öncemi Sonramı Bu Tarih Onu verir :) (MS) (Ama galiba Ademden öncemi :P) BC  Milattan Öncemi Sonramı Bu Tarih Onu verir :) (MS)  B.C.  Milattan Öncemi Sonramı Bu Tarih Onu verir (MS) 
CC Yüzyıl (21) Yirmibirinciyüzyıldaymışız :)
SCC Yüzyıl (21)
D Haftanın Günü (3)
DAY Haftanın Gün adı , 9 karakter
DD Ayın kaçıncı günü (30)
DDD Yılın kaçıncı günü (334)
DY Kısaltılmış gün (ÇAR)
E Kısaltılmış (Ben hata aldım) ?
EE ? FFn ?
FM Boş Döndürür
FX Buda boş döndürdü
HH 1-12 tipinde saati döndürür (12)
HH12 Same as HH (12)
HH24 24 dilimde saaati döndürür (12) AM - PM e göre 24
IW Yılın kaçıncı haftası olduğunu döndürür (48)
IYYY 4 haneli yılı döndürür (2005)
IYY 3 haneli olarka yılı döndürür   (005)
IY 2 Haneli olarak yılı döndürür   (05)
I yılın son hanesini döndürür (5)
J Milattan önce Ocak 1 4712 tarihinden itibaren kaç gün geçmiş onu verir) 2453705 :)
MI Dakikayı verir (0-59) (35)
MM Ayı döndürür (11)
MON Ay adını kısaltarak döndürür (KAS) Türkiye set edilmişse
MONTH Ay adını döndürür (ARALIK) Türkiye set edilmişse!..
PM ? Meridan indicator (ÖÖ) ?
P.M. Meridan indicator with periods (ÖÖ) ?
Q Yılın hangi çeyreğindeyiz onu döndürür (4) (Biliyosunuz aylar 4 mevsimde toplanıyor :))
RM Roma Rakamı ile ayı döndürür :) (XI)
RR ? (05) yılı döndürdü
RRRR ? (2005) yılı döndürdü
SS Saniye (35) 
SSSSS Seconds past midnight
TS Kısa Tarih Formatı verir
TZD Daylight savings information
TZH Time zone hour
TZM Time zone minute
TZR ???
WW Yılın haftasını döndürür
W Ayın kaçıncı haftası olduğunu döndürür
X Local radix character
YYYY ??? YEAR Okunuşu ile yılı yazar Two Thousand Five ) :)
SYEAR Two Thousand Five
YYY 005
YY 05 
Y 5 




Konu: Oracle TO_CHAR Function
 
Okunma Sayısı : 73
Eklenme Tarihi : 31 Ocak 2007, Çarşamba
SONRAKI BILGI : Ay a ayak basan ikinci insan kimdir   
Forum Linki:
Aranan Kelime:
   

 

 

Copyright © 2008 Temha.neT