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
0 oy
62 gösterim

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
Veri Tabanı kategorisinde (1.6k puan) sordu

2 Cevap

0 oy
t.kayit_tarihi< TO_DATE('2016/08/26 09:37:28', 'YYYY/MM/DD HH:MI:SS' )
(1.6k puan) cevapladı
+1 oy

Ö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' )
(3.1k puan) cevapladı

İlgili sorular

0 oy
1 cevap 39 gösterim
39 gösterim 26 Eylül 2016 Veri Tabanı kategorisinde tolga (1.6k puan) sordu
0 oy
1 cevap 13 gösterim
0 oy
1 cevap 17 gösterim
+1 oy
1 cevap 26 gösterim
...