在我的表customer_records中有一列StartDate,其值爲DDMMYYYYHHMMSS
格式(列數據類型爲VARCHAR)。
我想從YYYYMM
格式的日期提取表組中的數據。如何使用oracle中的子字符串讀取YYYYMM格式的日期值
我有下面的工作查詢:它將提取MMYYYY
格式的數據。
SELECT /*+ PARALLEL(a , 8) */
NVL (SUBSTR (StartDate, 3, 6), 'Total') "Year-Month",Started",
TO_CHAR (COUNT (1), '999,999,999') "Customer Count",
TO_CHAR (
SUM (Usage)/60,
'999,999,999')`enter code here`
"Duration (M)"
FROM customer_records a
WHERE type='NEW'
and customer_status=0
GROUP BY ROLLUP (to_date(SUBSTR (StartDate, 3, 6),'MMYYYY'), 'Total')
ORDER BY 1;
但我希望日期格式爲YYYYMM
格式。
我試過以下選項。但沒有工作,
SELECT /*+ PARALLEL(a , 8) */
NVL (to_date(SUBSTR (StartDate, 3, 6),'MMYYYY'), 'Total') "Month Started",
TO_CHAR (COUNT (1), '999,999,999') "Customer Count",
TO_CHAR (
SUM (Usage)/60,
'999,999,999')
"Duration (M)"
FROM customer_records a
WHERE type='NEW'
and customer_status=0
GROUP BY ROLLUP (to_date(SUBSTR (StartDate, 3, 6),'MMYYYY'), 'Total')
ORDER BY 1;
有人可以幫我修改上面的查詢中YYYYMM
格式獲取數據?
需要採取Startdate的substr,因爲它的格式是DDMMYYYYHHMMSS。 – Msn
如果該日期的日期格式爲 – Rams
,則無需採取子字符串感謝您的答案。但失敗的錯誤號爲:01481. 00000 - 「無效數字格式型號」 *原因:用戶正試圖通過TO_CHAR將字符串轉換爲字符串 或通過TO_NUMBER將字符串轉換爲數字並且 提供了無效號碼格式模型參數。 – Msn