【发布时间】:2013-10-22 10:33:21
【问题描述】:
如何GROUP by DATE 相同的日期但不同的时间?
我使用此代码但出现错误:
SELECT TO_CHAR(TO_DATE(FQA_START_DATE,'DD-Mon-YYYY HH24:MI:SS'),'YYYY-MM-DD') DAY, DE_NO
FROM (
SELECT TO_CHAR(TO_DATE(FQA_START_DATE,'DD-Mon-YYYY HH24:MI:SS'),'YYYY-MM-DD') DAY, DE_NO
FROM PACKINGAPPS_FQA
WHERE (TO_CHAR(TO_DATE(FQA_START_DATE,'DD-Mon-YYYY HH24:MI:SS'),'YYYY-MM-DD') BETWEEN '$start_date' AND '$end_date')
)
GROUP BY DAY, DE_NO
错误是:
Warning: oci_execute() [function.oci-execute]: ORA-00904: "FQA_START_DATE": invalid identifier in...
请帮忙指点。谢谢
【问题讨论】:
-
错误是指
FQA_START_DATE列,你确定它是正确的吗? BTW,FQA_START_DATE的数据类型是什么? -
@A.B.Cade 数据类型 I 使用 varchar。那么有什么建议吗?
-
至于错误 - 你有一个answer。至于如何删除时间部分,您可以在将字符串转换为日期后使用
TRUNC(使时间为00:00:00)或在原始字符串上使用SUBSTR。无论如何,我不会在 varchar2s 中存储日期