Ana içeriğe geç
Kesit SQL
Orta · Sertifika Hazırlık

1Z0-071: Dönüşüm fonksiyonları ve biçim modelleri (TO_CHAR, TO_DATE, TO_NUMBER)

Örtük ve açık dönüşüm, tarih ve sayı biçim öğeleri, fm ve RR.

Uygulamada aç, 8 alıştırmayı çözÜcretsiz, hesap gerekmez, kurulum yok.

Bu sayfa dersin okuma sürümüdür. Metin bir kutuyu çalıştırmanı ya da adıma geçmeni söylüyorsa dersi uygulamada aç.

Örtük ve açık dönüşüm

Oracle bazı durumlarda tipi kendiliğinden çevirir (WHERE hire_date = '01-MAR-15' oturumun NLS_DATE_FORMAT ayarına göre çevrilir). Bu davranış ortama bağlı olduğu için güvenilmezdir; her zaman açık dönüşüm kullan.

FonksiyonYön
TO_CHAR(tarih|sayı, 'biçim')tarih/sayı → metin
TO_DATE('metin', 'biçim')metin → tarih
TO_NUMBER('metin', 'biçim')metin → sayı
CAST(x AS tip)standart dönüşüm

Tarih biçim öğeleri

ÖğeAnlamıÖrnek
YYYY / YY / RRYıl (RR: 50–99 → 1900'ler, 00–49 → 2000'ler)2024
MM / MON / MONTHAy numarası / kısa ad / uzun ad12 / DEC / DECEMBER
DD / DY / DAYGün / kısa gün adı / uzun gün adı25 / WED / WEDNESDAY
HH24:MI:SSSaat:dakika:saniye14:05:09
Q, WW, DÇeyrek, yılın haftası, haftanın günü4
fmDolgu boşluklarını ve baştaki sıfırları kaldırırfmMonth
"metin"Biçime sabit metin ekler'DD "Aralık"'
SELECT TO_CHAR(DATE '2024-12-05', 'DD.MM.YYYY')         AS tr_tarih,
       TO_CHAR(DATE '2024-12-05', 'YYYY-"Q"Q')         AS ceyrek,
       TO_DATE('31.12.2024', 'DD.MM.YYYY')            AS tarih,
       TO_CHAR(1234567.891, '9,999,999.99')           AS sayi,
       TO_CHAR(42, '00000')                           AS sifirli,
       TO_NUMBER('1,250.75', '9,999.99')              AS metinden_sayi
FROM dual;

Sayı biçim öğeleri

ÖğeAnlamı
9Rakam (baştaki sıfırlar boşluk)
0Rakam (baştaki sıfırlar yazılır)
, .Binlik ve ondalık ayırıcı (G ve D yerel ayara göre)
$, LPara birimi
MI, PRNegatifi sonda eksi / açılı parantezle göster
Sınav tuzağıBiçimdeki basamak sayısı yetmezse TO_CHAR sonucu ##### olur. TO_DATE'te metin biçimle uyuşmazsa hata (ORA-01861) verir.
Alıştırmalara geç (8)