以正确的格式从SQL查询获取日期时间
问题描述:
我有一列ifd0_DateTime
,在名为photo
的表中,其中包含以下格式的日期时间:1966:12:22 17:19:57
。 我需要计算每年明智的照片数量。以正确的格式从SQL查询获取日期时间
到目前为止,我有这个查询。但它不能正常工作。
SELECT ifd0_DateTime, count(*) FROM photo group by YEAR(ifd0_DateTime), MONTH(ifd0_DateTime);
任何人都可以请解决这一问题?
答
代替date
选择Year
和Month
试试这个
SELECT YEAR(ifd0_DateTime), MONTH(ifd0_DateTime), count(*)
FROM photo
group by YEAR(ifd0_DateTime), MONTH(ifd0_DateTime)
+0
任何downvote的原因:/ –
答
SELECT YEAR(ifd0_DateTime), MONTH(ifd0_DateTime), count(*) FROM photo
group by YEAR(ifd0_DateTime), MONTH(ifd0_DateTime);
你的意思是?
答
存储日期时间的正确方法是使用内置数据类型。但是,它看起来像是将值存储为字符串。如果是这样,你只想要前7个字符:
SELECT LEFT(ifd0_DateTime, 7) as yyyymm, count(*)
FROM photo
GROUP BY LEFT(ifd0_DateTime, 7)
ORDER BY yyyymm;
但是,你真的应该修复数据。
您的查询如何不起作用? –
我稍后修复它。 – piyush121
为什么downvotes?我应该删除这个问题吗? – piyush121