Merhabalar arkadaşlar, Sitemizi programlama ile ilgilenen bütün arkadaşlarımızın türkçe içerik konusunda çektiği sıkıntılar düşünülerek soru/cevap şeklinde bir etkileşimde bulunabilmesi için kurduk. Umuyoruz hepimiz için güzel bir deneyim olur. Hasscript Ekibi

Sorunuz mu var? Belki de çoktan soruldu..

0
Oracle / PLSQL: ORA-01810 hatasını nasıl gideririm?

Açık 2 Cevaplar 56 Gösterim Veri Tabanı

belli bir tarihten küçük olanlar için sorgu çekeceğim ancak ORA-01810 hatası alıyorum,

select t.*, rowid from  customer t order by t.kayit_tarihi<'26.08.2016 09:37:28' desc

2 Cevap

0
t.kayit_tarihi< TO_DATE('2016/08/26 09:37:28', 'YYYY/MM/DD HH:MI:SS' )
29 Ağustos 2016 tolga (1,618 puan) cevapladı
1

Öncelike ora-01810 hatasının ne olduğuna bakalım.

ORA-01810: format code appears twice 01810. 00000 - "format code appears twice"

Senin örneğinde bu hatayı alması garip geldi bi an. kayit_tarihi alanının date tipinde olduğunu düşünüyorum. Bu durumda sen date tipindeki bir veri ile varchar/string tipindeki veriyi karşılaştırmaya çalışıyorsun. İki tane sonucu olabilir gibi geldi, ya oracle senin date bilgini string olarak görecek alakasız bir sonuç çıkacak, ya da oracle string bilgini direk date çevirip iş yapması lazım o zaman da date tipindeki format sorunları olacak. Bu durumda sen ne yapmışsın? to_date kullanmışsın. Yani kendi elindeki string bilgiyi date bilgisine çevirip kararı oracle'a bırakmamışsın. 

Mantıklı :)

t.kayit_tarihi< TO_DATE('2016/08/26 09:37:28', 'YYYY/MM/DD HH:MI:SS' )
29 Eylül 2016 kenan (2,835 puan) cevapladı
...