【发布时间】:2016-07-19 16:14:29
【问题描述】:
我有这样的查询
SELECT ITEM_CODE FROM my_table WHERE JOB_DATE BETWEEN
CASE WHEN EXTRACT(MONTH FROM TO_DATE(:ST_DATE,'DD/MM/YYYY')) = EXTRACT ( MONTH FROM TO_DATE(:END_DATE,'DD/MM/YYYY')) THEN TO_CHAR(ADD_MONTHS(:ST_DATE,-1),'DD/MM/YYYY')
WHEN EXTRACT(MONTH FROM TO_DATE(:ST_DATE,'DD/MM/YYYY')) != EXTRACT ( MONTH FROM TO_DATE(:END_DATE,'DD/MM/YYYY')) THEN TO_CHAR(TRUNC(ADD_MONTHS(:ST_DATE,-1),'MONTH'),'DD/MM/YYYY') END
AND
CASE WHEN EXTRACT(MONTH FROM TO_DATE(:ST_DATE,'DD/MM/YYYY')) = EXTRACT ( MONTH FROM TO_DATE(:END_DATE,'DD/MM/YYYY')) THEN TO_CHAR(ADD_MONTHS(:END_DATE,-1),'DD/MM/YYYY')
WHEN EXTRACT(MONTH FROM TO_DATE(:ST_DATE,'DD/MM/YYYY')) != EXTRACT ( MONTH FROM TO_DATE(:END_DATE,'DD/MM/YYYY')) THEN TO_CHAR(LAST_DAY(ADD_MONTHS(:ST_DATE,-1)),'DD/MM/YYYY') END
我以默认格式“dd-mon-yyyy”输入日期,并希望在报告中显示“DD/MM/YYYY”。 但这给了我错误
ORA-01843: not a valid month
在表Job_date 中存储为DATE 类型。我该怎么做才能解决这个问题。
【问题讨论】: