Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Yıl bilgisinde Tip uyuşmazlığı Hatası
#1
merhaba ;

SELECT 
 EXTRACT(YEAR FROM m.tarih_saat) AS Yil,
 EXTRACT(MONTH FROM m.tarih_saat) AS AyNo,
 CASE EXTRACT(MONTH FROM m.tarih_saat) 
 WHEN '1' THEN 'OCAK'
 WHEN '2' THEN 'ŞUBAT'
 WHEN '3' THEN 'MART' 
 WHEN '4' THEN 'NİSAN'
 WHEN '5' THEN 'MAYIS'
 WHEN '6' THEN 'HAZİRAN'
 WHEN '7' THEN 'TEMMUZ'
 WHEN '8' THEN 'AĞUSTOS'
 WHEN '9' THEN 'EYLÜL'
 WHEN '10' THEN 'EKİM'
 WHEN '11' THEN 'KASIM'
 WHEN '12' THEN 'ARALIK' END AS Ay,
 ROUND(COALESCE(SUM(m.toplam_mesafe),0),2) as ToplamKm
FROM 
 arac_gunluk_mesafe m
WHERE
 (EXTRACT(YEAR FROM m.tarih_saat) = '2020')
GROUP BY
 EXTRACT(YEAR FROM m.tarih_saat),EXTRACT(MONTH FROM m.tarih_saat)
ORDER BY
 EXTRACT(MONTH FROM m.tarih_saat)

yukarıdaki sorgu uniQuery 'nin içinde Execute edince çalışıyor. Dataeditörden veriler de görünüyor. bir sıkıntı yok
uniQuery 'i Active edince şu hatayı alıyorum. MySql 8.0 kullanıyorum

uniQuery: Type mismatch for field 'Yil', expecting Largeint actual: Integer

Teşekkür ederim.
WWW
Cevapla
#2
Merhaba,
Mysql'de CAST fonksiyonunu inceleyin, işinize yarayabilir
Cevapla
#3
merhaba;

sonucu değiştirmiyor yine aynı hatayı veriyor.
Query nin OPTIONS - AUTOPRAPARE özelliği TRUE yapılınca LARGEINT boyutunda rakamsal bir değer döndürüyor  o zaman çalışıyor.
CONVERT ve CAST ikiside aşağıdaki gibi bir rakam çıktısı veriyor

2020 rakamı için çıkan değer 4694663425081477092 

tarih_saat alanında tarih saat bilgisi aşağıdaki formatta yazılmıştır bununla alakalı olabilirmi
2020-03-01 00:00:00
WWW
Cevapla
#4
(12-07-2020, Saat: 07:08)akuyumcu63 Adlı Kullanıcıdan Alıntı: merhaba ;

SELECT 
 EXTRACT(YEAR FROM m.tarih_saat) AS Yil,
 EXTRACT(MONTH FROM m.tarih_saat) AS AyNo,
 CASE EXTRACT(MONTH FROM m.tarih_saat) 
 WHEN '1' THEN 'OCAK'
 WHEN '2' THEN 'ŞUBAT'
 WHEN '3' THEN 'MART' 
 WHEN '4' THEN 'NİSAN'
 WHEN '5' THEN 'MAYIS'
 WHEN '6' THEN 'HAZİRAN'
 WHEN '7' THEN 'TEMMUZ'
 WHEN '8' THEN 'AĞUSTOS'
 WHEN '9' THEN 'EYLÜL'
 WHEN '10' THEN 'EKİM'
 WHEN '11' THEN 'KASIM'
 WHEN '12' THEN 'ARALIK' END AS Ay,
 ROUND(COALESCE(SUM(m.toplam_mesafe),0),2) as ToplamKm
FROM 
 arac_gunluk_mesafe m
WHERE
 (EXTRACT(YEAR FROM m.tarih_saat) = '2020')
GROUP BY
 EXTRACT(YEAR FROM m.tarih_saat),EXTRACT(MONTH FROM m.tarih_saat)
ORDER BY
 EXTRACT(MONTH FROM m.tarih_saat)

yukarıdaki sorgu uniQuery 'nin içinde Execute edince çalışıyor. Dataeditörden veriler de görünüyor. bir sıkıntı yok
uniQuery 'i Active edince şu hatayı alıyorum. MySql 8.0 kullanıyorum

uniQuery: Type mismatch for field 'Yil', expecting Largeint actual: Integer

Teşekkür ederim.

Merhaba,
şöyle dener misiniz?

SELECT
YEAR(m.tarih_saat) AS Yil,
EXTRACT(MONTH FROM m.tarih_saat) AS AyNo,
CASE EXTRACT(MONTH FROM m.tarih_saat) 
WHEN '1' THEN 'OCAK'
WHEN '2' THEN 'ŞUBAT'
WHEN '3' THEN 'MART'
WHEN '4' THEN 'NİSAN'
WHEN '5' THEN 'MAYIS'
WHEN '6' THEN 'HAZİRAN'
WHEN '7' THEN 'TEMMUZ'
WHEN '8' THEN 'AĞUSTOS'
WHEN '9' THEN 'EYLÜL'
WHEN '10' THEN 'EKİM'
WHEN '11' THEN 'KASIM'
WHEN '12' THEN 'ARALIK' END AS Ay,
ROUND(COALESCE(SUM(m.toplam_mesafe),0),2) as ToplamKm
FROM
arac_gunluk_mesafe m
WHERE
(YEAR(m.tarih_saat) = '2020')
GROUP BY
YEAR(m.tarih_saat), EXTRACT(MONTH FROM m.tarih_saat)
ORDER BY
EXTRACT(MONTH FROM m.tarih_saat)

Ay için Month(Date); gün için Day(Date) kullanabilirsiniz.
Yazılım Topluluğumuz -> Tıklayın
Kişisel Tanıtım Sitem -> Tıklayın
20 y/o, sadece öğrenmeye odaklanmış, insancık..
WWW
Cevapla
#5
(12-07-2020, Saat: 12:57)Halil Han Badem Adlı Kullanıcıdan Alıntı:
(12-07-2020, Saat: 07:08)akuyumcu63 Adlı Kullanıcıdan Alıntı: merhaba ;

SELECT 
 EXTRACT(YEAR FROM m.tarih_saat) AS Yil,
 EXTRACT(MONTH FROM m.tarih_saat) AS AyNo,
 CASE EXTRACT(MONTH FROM m.tarih_saat) 
 WHEN '1' THEN 'OCAK'
 WHEN '2' THEN 'ŞUBAT'
 WHEN '3' THEN 'MART' 
 WHEN '4' THEN 'NİSAN'
 WHEN '5' THEN 'MAYIS'
 WHEN '6' THEN 'HAZİRAN'
 WHEN '7' THEN 'TEMMUZ'
 WHEN '8' THEN 'AĞUSTOS'
 WHEN '9' THEN 'EYLÜL'
 WHEN '10' THEN 'EKİM'
 WHEN '11' THEN 'KASIM'
 WHEN '12' THEN 'ARALIK' END AS Ay,
 ROUND(COALESCE(SUM(m.toplam_mesafe),0),2) as ToplamKm
FROM 
 arac_gunluk_mesafe m
WHERE
 (EXTRACT(YEAR FROM m.tarih_saat) = '2020')
GROUP BY
 EXTRACT(YEAR FROM m.tarih_saat),EXTRACT(MONTH FROM m.tarih_saat)
ORDER BY
 EXTRACT(MONTH FROM m.tarih_saat)

yukarıdaki sorgu uniQuery 'nin içinde Execute edince çalışıyor. Dataeditörden veriler de görünüyor. bir sıkıntı yok
uniQuery 'i Active edince şu hatayı alıyorum. MySql 8.0 kullanıyorum

uniQuery: Type mismatch for field 'Yil', expecting Largeint actual: Integer

Teşekkür ederim.

Merhaba,
şöyle dener misiniz?

SELECT
YEAR(m.tarih_saat) AS Yil,
EXTRACT(MONTH FROM m.tarih_saat) AS AyNo,
CASE EXTRACT(MONTH FROM m.tarih_saat) 
WHEN '1' THEN 'OCAK'
WHEN '2' THEN 'ŞUBAT'
WHEN '3' THEN 'MART'
WHEN '4' THEN 'NİSAN'
WHEN '5' THEN 'MAYIS'
WHEN '6' THEN 'HAZİRAN'
WHEN '7' THEN 'TEMMUZ'
WHEN '8' THEN 'AĞUSTOS'
WHEN '9' THEN 'EYLÜL'
WHEN '10' THEN 'EKİM'
WHEN '11' THEN 'KASIM'
WHEN '12' THEN 'ARALIK' END AS Ay,
ROUND(COALESCE(SUM(m.toplam_mesafe),0),2) as ToplamKm
FROM
arac_gunluk_mesafe m
WHERE
(YEAR(m.tarih_saat) = '2020')
GROUP BY
YEAR(m.tarih_saat), EXTRACT(MONTH FROM m.tarih_saat)
ORDER BY
EXTRACT(MONTH FROM m.tarih_saat)

Ay için Month(Date); gün için Day(Date) kullanabilirsiniz.
gridde görüntü bu şekilde hem yıl hem ay no bilgisi için

https://drive.google.com/file/d/19yezFlm...sp=sharing
WWW
Cevapla
#6
(12-07-2020, Saat: 13:07)akuyumcu63 Adlı Kullanıcıdan Alıntı:
(12-07-2020, Saat: 12:57)Halil Han Badem Adlı Kullanıcıdan Alıntı: Merhaba,
şöyle dener misiniz?

SELECT
YEAR(m.tarih_saat) AS Yil,
EXTRACT(MONTH FROM m.tarih_saat) AS AyNo,
CASE EXTRACT(MONTH FROM m.tarih_saat) 
WHEN '1' THEN 'OCAK'
WHEN '2' THEN 'ŞUBAT'
WHEN '3' THEN 'MART'
WHEN '4' THEN 'NİSAN'
WHEN '5' THEN 'MAYIS'
WHEN '6' THEN 'HAZİRAN'
WHEN '7' THEN 'TEMMUZ'
WHEN '8' THEN 'AĞUSTOS'
WHEN '9' THEN 'EYLÜL'
WHEN '10' THEN 'EKİM'
WHEN '11' THEN 'KASIM'
WHEN '12' THEN 'ARALIK' END AS Ay,
ROUND(COALESCE(SUM(m.toplam_mesafe),0),2) as ToplamKm
FROM
arac_gunluk_mesafe m
WHERE
(YEAR(m.tarih_saat) = '2020')
GROUP BY
YEAR(m.tarih_saat), EXTRACT(MONTH FROM m.tarih_saat)
ORDER BY
EXTRACT(MONTH FROM m.tarih_saat)

Ay için Month(Date); gün için Day(Date) kullanabilirsiniz.
gridde görüntü bu şekilde hem yıl hem ay no bilgisi için

https://drive.google.com/file/d/19yezFlm...sp=sharing
Linke erişim izni mevcut değil.
Yazılım Topluluğumuz -> Tıklayın
Kişisel Tanıtım Sitem -> Tıklayın
20 y/o, sadece öğrenmeye odaklanmış, insancık..
WWW
Cevapla
#7
(12-07-2020, Saat: 13:12)Halil Han Badem Adlı Kullanıcıdan Alıntı:
(12-07-2020, Saat: 13:07)akuyumcu63 Adlı Kullanıcıdan Alıntı: gridde görüntü bu şekilde hem yıl hem ay no bilgisi için

https://drive.google.com/file/d/19yezFlm...sp=sharing
Linke erişim izni mevcut değil.

izin verdim diye düşünüyorum.

https://drive.google.com/file/d/19yezFlm...sp=sharing
WWW
Cevapla
#8
(12-07-2020, Saat: 13:19)akuyumcu63 Adlı Kullanıcıdan Alıntı:
(12-07-2020, Saat: 13:12)Halil Han Badem Adlı Kullanıcıdan Alıntı: Linke erişim izni mevcut değil.

izin verdim diye düşünüyorum.

https://drive.google.com/file/d/19yezFlm...sp=sharing

Hatalı bir şekilde bir demo hazırlayın. Örnek bir tablo SQL'ini içerisine ekleyerek gönderirseniz üzerinde test etme şansım olabilir. Bu şekilde bir problem vermemesi lazım. MySQL üzerinden YEAR(DATE) şeklinde sorgulama yaptığınız yıl değerini alabiliyor musunuz?
Yazılım Topluluğumuz -> Tıklayın
Kişisel Tanıtım Sitem -> Tıklayın
20 y/o, sadece öğrenmeye odaklanmış, insancık..
WWW
Cevapla
#9
(12-07-2020, Saat: 13:42)Halil Han Badem Adlı Kullanıcıdan Alıntı:
(12-07-2020, Saat: 13:19)akuyumcu63 Adlı Kullanıcıdan Alıntı: izin verdim diye düşünüyorum.

https://drive.google.com/file/d/19yezFlm...sp=sharing

Hatalı bir şekilde bir demo hazırlayın. Örnek bir tablo SQL'ini içerisine ekleyerek gönderirseniz üzerinde test etme şansım olabilir. Bu şekilde bir problem vermemesi lazım. MySQL üzerinden YEAR(DATE) şeklinde sorgulama yaptığınız yıl değerini alabiliyor musunuz?

navicat programında şimdi denedim. YEAR(tarih_saat), MONTH(tarih_saat), DAY(tarih_saat) üçü de hatasız çalıştı.

delphi tarafında 
SELECT
 YEAR(m.tarih_saat) AS Yil,
 MONTH(m.tarih_saat) AS Ay, 
 DAY(m.tarih_saat) AS Gun 
FROM
 arac_gunluk_mesafe m
bu şekilde denedim hiç bir sorun yok gayet güzel çalıştı.

SORUNU BULDUM. 
GROUP BY

 EXTRACT(MONTH FROM m.tarih_saat)
satırı sorguya eklenince YIL ve AY bilgisi için yukarıda belirttiğim hata oluşuyor.

ama bir türlü hata çözülemiyor.
WWW
Cevapla
#10
GROUP BY month(m.tarih_saat)
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Mysql DB Hatası powerghost 1 177 09-07-2020, Saat: 09:37
Son Yorum: wiseman
  [ÇÖZÜLDÜ] - Windows Servis Başlatma Yetki Hatası hi_selamlar 3 993 22-01-2020, Saat: 15:51
Son Yorum: hi_selamlar
  Tırnak işaretinde "Illegal mix of collations" hatası BGNew 2 893 17-11-2019, Saat: 15:29
Son Yorum: BGNew
  MySQL Workbench Kod Tamamlama Hatası - (Code Completion) hi_selamlar 0 837 23-02-2019, Saat: 11:42
Son Yorum: hi_selamlar
  Mysql #23000Duplicate entry hatası masteryoda 8 3.042 04-08-2017, Saat: 22:35
Son Yorum: masteryoda



Konuyu Okuyanlar: 1 Ziyaretçi