Merhaba Arkadaşlar,
Aşağıda SQL Kodu bulunan sorguda "format code appears twice" hatası almaktayım, sql'de tabloya tarih "2022-08-19T14:14:33.560000+00:00 " olarak yansıyor, bu hatanın çözümü var mıdır?
select pr_date,pr_free_text_4 from INACT.IN_PRO
where pr_stat='2'
and TO_DATE('2022-08-19T14:14:33.560000+00:00','yyyymmdd hh:mm:ss') <= sysdate
ORACLE SQL Date sorunu
6
●78
- 21-11-2022, 14:41:52Hocam cevap için teşekkür ederim öncelikle, bana gelen date formatı "2022-08-19T14:14:33.560000+00:00" bu şekilde geliyor bunu çevirmeye çalışıyorum ama hata alıyorum sürekli.OpenBSD adlı üyeden alıntı: mesajı görüntüle
select pr__date,pr_text_4 from INACT.IN_PRO
where pr_stat='2'
and to_date('2022-08-19T14:14:33.560000+00:00','yyyymmdd') <= sysdate
şimdi bunu denedim bu seferde "not a valid month" hatası verdi. - 21-11-2022, 14:50:57hocam DB incelemem lazım fakat şimdiki probleminheykelog adlı üyeden alıntı: mesajı görüntüle
hatayı gidermek ve doğru ay değerini kullanmak için SQL 'ni güncellemen gerekmekte
SELECT TO_DATE('21-NOV-2022') FROM dual;
Değer doğruysa ve hatayı almaya devam ediyorsan bunun nedeni girdiğiniz biçim olabilmektedir.
TO_DATE, giriş değeriyle birlikte bir biçim girmenize olanak tanımaktadır. Biçim, diğer bazı işlevler gibi çıktı değerini değil, girdi değerinin ne olduğunu yansıtmaktadır
Çıktı değeri her zaman bir TARİH'tir, dolayısıyla bir biçime ihtiyacı bulunmamaktadır. Giriş değerinin bir biçime ihtiyacı vardır.
Ay için "NOV" veya 11 gibi geçerli bir değer girdiyseniz, biçiminiz giriş değeriyle eşleşmeyebilir.
çözüm:
Ya giriş değerini formatla eşleşecek şekilde güncelleyin ya da formatı giriş değeriyle eşleşecek şekilde güncellemenizi öneririm
SELECT TO_DATE('21-NOV-2022', 'DD-MON-YYYY') FROM dual;
bu yazdıklarım sanırım sorunu çözecektir - 21-11-2022, 15:48:02Hocam öncelikle teşekkür ederim vakit ayırdığın için, Bana gelen veri tam olarak bu "2022-08-19T14:14:33.560000+00:00 " buna göre date formatına çevirmeye çalışıyorum ben, örnek veriyorum şöyle bir sorgu yazmak istiyorum, "2022-08-19T14:14:33.560000+00:00 tarihinden son bir gün içerisindeki tüm kayıtları getir." ama dediğiniz gibi bu değer tarih formatına uyum sağlamadığı için hata alıyorum, bu gelen değeri değiştirmeden tarih formatına nasıl uyum sağlanabiliri araştırıyorum.OpenBSD adlı üyeden alıntı: mesajı görüntüle