Oracle date to_char组和
问题描述:
我正在努力将我的查询从mysql迁移到oracle。在MySQL中我使用的查询Oracle date to_char组和
SELECT DATE_FORMAT(IDATEIN, '%M-%Y') as MY
FROM ATTENDANCE
GROUP BY MY
ORDER BY IDATEIN DESC
这给我造成像
MYDATE
DEC-2016
NOV-2016
OCT-2016
我的表包含
IDATEIN
2016-12-01
2016-12-01
2016-12-01
2016-10-01
2016-11-01
在oracle中我试图用这个
得到的只有一个月SELECT TO_CHAR(DATEIN, 'MON-YYYY') AS MY
FROM HRM_ATTENDANCE
GROUP BY TO_CHAR(DATEIN, 'MON-YYYY')
ORDER BY TO_CHAR(DATEIN, 'MON-YYYY')
但它或环abphables,像
APR-2016
APR-2017
AUG-2016
FEB-2016
FEB-2017
请帮
甲骨文结果
的MySQL结果
答
使用TRUNC
截断日期至月末开始和GROUP BY
/ORDER BY
该日期值,只是它隐蔽的字符串SELECT
子句中:
SELECT TO_CHAR(TRUNC(DATEIN, 'MM'), 'MON-YYYY') AS MY
FROM HRM_ATTENDANCE
GROUP BY TRUNC(DATEIN, 'MM')
ORDER BY TRUNC(DATEIN, 'MM')
然而,由于你的数据似乎只能是在第一个月的那么这可以被简化为:
SELECT TO_CHAR(DATEIN, 'MON-YYYY') AS MY
FROM HRM_ATTENDANCE
GROUP BY DATEIN
ORDER BY DATEIN
+0
谢谢你,你救了我的一天 – Mani
什么是“abphables”? –
你的mysql结果中的2017条目在哪里? – Jens
向我们显示两个查询的结果都是相同的输入记录 – Jens