Oracle’da karakter tipindeki tarihleri, TO_DATE built-in fonksiyonu ile date tipine dönüştürürken bir çok hata ile karşılaşmamız olası. Özellikle veriambarı süreçlerinde milyonluk kayıtlar içinde hatalı kaydı bulmak çok zor olabiliyor. Hatalı kaydı bulmak için Log Errors Into yöntemi kullanılabilir ( bu methodu anlatmak için ayrıca bi başlık gerekir). Ben farklı bir yöntemden daha bahsedeceğim. Tablo oluşturmaya gerek kalmadan hatalı kaydı bulabilirsiniz.
Aşağıdaki sorguda with as içinde 2 doğru kayıt, 1 adet null kayıt var. Diğer kayıtlarda farklı hatalar var. With As’den dönen ornek objesine select atarken where condtition’da TO_DATE içine “DEFAULT NULL ON CONVERSION ERROR” ifadesini ekledim. Bu ifade, to_date’de hata veren kayıtları NULL’a çevirip sql’in hata almamasını sağlar. Where condition’da ilgili ifadeyi is null şeklinde girerek normalde hata verecek kayıtlar listelenir.
Continue reading