Bir sorguda bir datetime alanının yalnızca bir tarih bölümünü kullanmanın en iyi yolu nedir?
Bir datetime alanım var ve tarihe göre gruplamak/saymak istiyorum.Informix SQL: Bir sorguda datetime alanının tarih bölümünü nasıl alabilirim?
5
A
cevap
15
bunu yapmanın birkaç yolu vardır: - En kısa olduğu gibi -
EXTEND(dt_field, YEAR TO DAY)
CAST(dt_field AS DATETIME YEAR TO DAY)
dt_field::DATETIME YEAR TO DAY
CAST(dt_field AS DATE)
dt_field::DATE
DATE(dt_field)
en basit son iki tanesi ve fonksiyon notasyonu muhtemelen en net olduğunu. İlk üç size bir DATETIME değeri bırakıyor; son üç size bir DATE değeri bırakacaktır. Bunlar benzer, ancak aynı değildir. Gerçi oldukça serbestçe değiştirilebilirler.
4
date(name_of_field)
2
Bu
to_char(dt_field, "%d %B %Y")
31 May 2016
olarak verir. gruplandırmak için
:
SELECT YEAR(dt_field) year, MONTH(dt_field) month, COUNT(*) count
FROM tblName
GROUP BY 1, 2
ORDER BY 1, 2;
ve tekrar .... sadece durmuyor ama ben onu seviyorum – CheeseConQueso