Bu öğretici, belirli bir giriş dizesini bir tarih veri türüne dönüştürmek için to_date işlevini nasıl kullanacağınızı gösterecektir.
Orale to_date() İşlevi
Oracle'daki to_date() işlevi, belirli bir dizgi tarih sabit bilgisini bir tarih türüne dönüştürmenize olanak tanır.
İşlev sözdizimi:
TO_DATE(char [, fmt [, 'nlsparam' ] ])
İşlev üç ana argümanı kabul eder:
- İlk bağımsız değişken, giriş tarihi dizesini tanımlayan karakterdir. Giriş değeri CHAR, VARCHAR2, NCHAR veya NVARCHAR2 olabilir.
- fmt – İkinci parametre fmt'dir. Bu parametre, giriş değerinin tarih saat modeli biçimini tanımlar. Giriş değeri varsayılan GG-Pzt-YY biçimine uyuyorsa, örneğin 01-JAN-2022 ise bu parametreyi atlayabilirsiniz.
Biçim, J olarak gösterilen Julian ise, giriş değeri bir tamsayı türü olmalıdır.
Giriş değeri aşağıdaki biçimlerde kapsanabilir:
- nlsparam – Son olarak, nlsparam parametresi, dizedeki veri ve ay dilini belirtmek için kullanılır. Biçim, NLS_DATE_FORMAT = dildir. Oracle, varsayılan olarak oturumunuzun varsayılan dilini kullanacaktır.
Örnek İşlev Kullanımı
Oracle veritabanındaki to_date işlevinin örnekleri aşağıdadır:
Örnek 1 – Temel Dönüşüm
Aşağıdaki örnek, belirli bir karakter dizisini tarihe dönüştürmek için to_date işlevinin nasıl kullanılacağını gösterir.
to_date('10 Ocak 2023', 'Gündüz Ay, YYYY')ikiliden;
Bu durumda, verilen tarih dizisini Month gg, YYYY formatını kullanarak bir tarih tipine dönüştürürüz.
Ortaya çıkan değer gösterilir:
TO_DATE('OCAK102023','AYGG,YYYY')2023-01-10
Örnek 2 – Tarih ve Saati Tarih Türüne Dönüştür
İkinci örnek, belirli bir karakter dizisinin tarihe nasıl dönüştürüleceğini gösterir.
to_date('10 Ocak 2023, 1:03', 'Ay gg, YYYY, SS:MI P.M.')
ikiliden;[/cc]
Bu durumda saat formatını HH:MI P.M olarak belirtmemiz gerekiyor.
Ortaya çıkan çıktı gösterildiği gibidir:
TO_DATE('OCAK10,2023,1:03','MONTHDD,YYYY,SS:MIP.M.')2023-01-10 01:03:00
Örnek 3 – Dil Parametresini Belirleme
To_date işlevinin nls_date_language parametresiyle nasıl kullanılacağını gösteren aşağıdaki örneği inceleyin.
to_date('10 Ocak 2023, 1:03', 'Ay gg, YYYY, SS:MI P.M.', 'nls_date_language=Amerikan')ikiliden;
Bu, değeri döndürmelidir:
2023-01-10 01:03:00Oturum dilini şu şekilde değiştirdikten sonra:
oturum setini değiştir nls_territory = 'Avustralya';Zamanı dönüştür.
to_date('10 Ocak 2023, 1:03', 'Ay gg, YYYY, SS:MI P.M.', 'nls_date_language=Amerikan')ikiliden;
Çözüm
Bu yazıda, belirli bir giriş tarihi sabit bilgisini tarih türüne dönüştürmek için Oracle veritabanındaki to_date işlevinin kullanımını keşfedeceğiz.