我有通行證的日期到一個SQL查詢的Crystal報表{日期}?水晶報表 - 甲骨文01861錯誤
當晶體然而使用ODBC連接來連接它更改爲「Oracle服務器」這個工作連接我得到一個錯誤:
ORA-01861: literal does not match format string
我試圖刪除TO_CHAR或TO_DATE(如在研究這似乎是問題的原因,但無濟於事)
SELECT
ACTIVE_SEPARATE.WO_NO,
MCH_TYPE,
24 * (to_date(to_char(REAL_F_DATE,'DD-MM-YYYY HH24:MI:SS'), 'DD-MM-YYYY HH24:MI:SS') - to_date(to_char(REQUIRED_START_DATE,'DD-MM-YYYY HH24:MI:SS'), 'DD-MM-YYYY HH24:MI:SS')) as BREAKDOWN_HOURS,
(100 - (((24 * (to_date(to_char(last_day(to_date({?Month}, 'dd-mm-yyyy')),'DD-MM-YYYY'), 'DD-MM-YYYY') - to_date(to_char(trunc(to_date({?Month}, 'dd-mm-yyyy'), 'month'),'DD-MM-YYYY'), 'DD-MM-YYYY'))) + 24) - (24 * (to_date(to_char(REAL_F_DATE,'DD-MM-YYYY HH24:MI:SS'), 'DD-MM-YYYY HH24:MI:SS') - to_date(to_char(REQUIRED_START_DATE,'DD-MM-YYYY HH24:MI:SS'), 'DD-MM-YYYY HH24:MI:SS'))))/((24 * (to_date(to_char(last_day(to_date({?Month}, 'dd-mm-yyyy')),'DD-MM-YYYY'), 'DD-MM-YYYY') - to_date(to_char(trunc(to_date({?Month}, 'dd-mm-yyyy'), 'month'),'DD-MM-YYYY'), 'DD-MM-YYYY'))) + 24)) AS PERCENTAGE_AVAILABILITY
FROM ACTIVE_SEPARATE
RIGHT JOIN EQUIPMENT_FUNCTIONAL ON EQUIPMENT_FUNCTIONAL.MCH_CODE = (SELECT DISTINCT CASE WHEN MCH_CODE LIKE '%-%' THEN TRIM(SUBSTR(MCH_CODE, 0, INSTR(MCH_CODE, '-')-1)) ELSE MCH_CODE END FROM ACTIVE_SEPARATE ACTIVE_SEPARATE_SUB WHERE ACTIVE_SEPARATE.MCH_CODE = ACTIVE_SEPARATE_SUB.MCH_CODE)
WHERE ERR_CLASS = '001'
AND MCH_TYPE IS NOT NULL
AND (ACTIVE_SEPARATE.REQUIRED_START_DATE BETWEEN
trunc({?Month}, 'MM')
AND
LAST_DAY({?Month}))
一些本質GR itty是用戶輸入日期(任何日期)。此代碼將採用日期。計算選定月份的總小時數。
它也將通過使完成時間和開始時間相互分離來計算故障時間。
最後它會在本月計算小時數 - 制動時間給我們提供時間。
對這個醜陋的代碼進行故障排除將非常困難。它是否給出錯誤的行號?你能上傳一些樣本數據嗎?我們需要看看它是從什麼開始的,如果我們不得不將日期轉換爲1的值3次。 – mmmmmpie 2015-02-23 13:48:18
沒有行號。我知道代碼醜陋,我正在使用的模式是可怕的。我現在編輯。 – LaLa 2015-02-23 13:52:38
這是一個更大的視圖或查詢的一部分嗎?打破其中的一些片段,並明確運行它們。例如,執行此操作:'從HISTORICAL_SEPARATE中選擇to_char(REAL_F_DATE,'DD-MM-YYYY HH24:MI:SS');'重複此操作直到您運行整個作品。 – mmmmmpie 2015-02-23 13:54:35