ORA-01861: 文字与格式字符串不匹配
时间:2011-12-11
来源:互联网
我写个报表sql:如下
XML code
传入的参数分别是:2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp)。
运行报错:ORA-01861: 文字与格式字符串不匹配。
XML code
SELECT DECODE(ROW_NUMBER() OVER(PARTITION BY BUREAUNAME ORDER BY A.RN2,
A.DEFECTLEVELCODE DESC),
1,
4,
0) ROWSPAN,
DECODE(A.BUREAUNAME, 'NULL', '姹囨?', A.BUREAUNAME) BUREAU_NAME,
A.*,
NVL(B.TOTALFINDINTHISMONTH, 0) TOTALFINDINTHISMONTH,
NVL(B.DEALEDFINDINTHISMONTH, 0) DEALEDFINDINTHISMONTH,
NVL(B.DEALEDINTIMEFINDINTHISMONTH, 0) DEALEDINTIMEFINDINTHISMONTH,
NVL(B.LEGACYTOTAL, 0) LEGACYTOTAL,
NVL(B.LEGACYDEALINTHISMONTH, 0) LEGACYDEALINTHISMONTH,
NVL(B.LEGACYDEALEDINTIMEINTHISMONTH, 0) LEGACYDEALEDINTIMEINTHISMONTH
FROM (SELECT NVL(A.BUREAUNAME, 'NULL') BUREAUNAME,
NVL(B.DEFECTLEVELCODE, 0) DEFECTLEVELCODE,
MAX(A.BCODE) BUREAU_CODE,
MAX(B.DEFECTDAMAGELEVEL) DEFECTLEVELNAME,
GROUPING(A.BUREAUNAME) RN1,
GROUPING(B.DEFECTLEVELCODE) RN2
FROM (SELECT DISTINCT BUREAU_CODE BCODE, BUREAU_NAME BUREAUNAME
FROM WO_DEFECT
WHERE BUREAU_CODE = '03'
UNION ALL
SELECT DISTINCT BUREAU_CODE BCODE, BUREAU_NAME BUREAUNAME
FROM WO_DEFECT
WHERE BUREAU_CODE = '0351'
UNION ALL
SELECT DISTINCT BUREAU_CODE BCODE, BUREAU_NAME BUREAUNAME
FROM WO_DEFECT
WHERE BUREAU_CODE = '0306'
UNION ALL
SELECT DISTINCT BUREAU_CODE BCODE, BUREAU_NAME BUREAUNAME
FROM WO_DEFECT
WHERE BUREAU_CODE = '0303') A,
(SELECT '绱ф?' DEFECTDAMAGELEVEL, 1 DEFECTLEVELCODE
FROM DUAL
UNION ALL
SELECT '閲嶅ぇ', 2
FROM DUAL
UNION ALL
SELECT '涓?埇', 3 FROM DUAL) B
GROUP BY CUBE(A.BUREAUNAME, B.DEFECTLEVELCODE)) A
LEFT JOIN (SELECT NVL(T.BUREAU_NAME, 'NULL') BUREAU_NAME,
MAX(T.BUREAU_CODE),
NVL(T.DEFECT_LEVEL, 0) DEFECT_LEVEL,
COUNT(1) RN,
GROUPING(T.DEFECT_LEVEL) RN2,
GROUPING(T.BUREAU_NAME) RN1,
COUNT((CASE
WHEN T.FIND_TIME BETWEEN
TO_DATE(?, 'yyyy-MM-dd') AND
TO_DATE(?, 'yyyy-MM-dd') AND
T.STATE != 1 THEN
1
END)) TOTALFINDINTHISMONTH,
COUNT((CASE
WHEN T.FIND_TIME BETWEEN
TO_DATE(?, 'yyyy-MM-dd') AND
TO_DATE(?, 'yyyy-MM-dd') AND
T.DEAL_TIME BETWEEN
TO_DATE(?, 'yyyy-MM-dd') AND
TO_DATE(?, 'yyyy-MM-dd') AND
T.STATE != 1 THEN
1
END)) DEALEDFINDINTHISMONTH,
COUNT((CASE
WHEN T.FIND_TIME BETWEEN
TO_DATE(?, 'yyyy-MM-dd') AND
TO_DATE(?, 'yyyy-MM-dd') AND
T.DEAL_TIME BETWEEN
TO_DATE(?, 'yyyy-MM-dd') AND
TO_DATE(?, 'yyyy-MM-dd') AND
T.OUGHT_DEAL_TIME > T.DEAL_TIME AND T.STATE != 1 THEN
1
END)) DEALEDINTIMEFINDINTHISMONTH,
COUNT((CASE
WHEN TO_DATE(?, 'yyyy-MM-dd ') > T.FIND_TIME AND
T.DEAL_TIME IS NULL OR
(T.DEAL_TIME IS NOT NULL AND
T.DEAL_TIME > TO_DATE(?, 'yyyy-MM-dd')) AND
T.STATE != 1 THEN
1
END)) LEGACYTOTAL,
COUNT((CASE
WHEN TO_DATE(?, 'yyyy-MM-dd') > T.FIND_TIME AND
T.DEAL_TIME BETWEEN
TO_DATE(?, 'yyyy-MM-dd') AND
TO_DATE(?, 'yyyy-MM-dd') AND
T.STATE != 1 THEN
1
END)) LEGACYDEALINTHISMONTH,
COUNT((CASE
WHEN TO_DATE(?, 'yyyy-MM-dd') > T.FIND_TIME AND
T.DEAL_TIME BETWEEN
TO_DATE(?, 'yyyy-MM-dd') AND
TO_DATE(?, 'yyyy-MM-dd') AND
T.OUGHT_DEAL_TIME > T.DEAL_TIME AND T.STATE != 1 THEN
1
END)) LEGACYDEALEDINTIMEINTHISMONTH
FROM WO_DEFECT T
WHERE T.DEFECT_LEVEL IN (1, 2, 3)
AND T.BUREAU_NAME IS NOT NULL
GROUP BY CUBE(T.BUREAU_NAME, T.DEFECT_LEVEL)) B ON A.BUREAUNAME =
B.BUREAU_NAME
AND A.DEFECTLEVELCODE =
B.DEFECT_LEVEL
ORDER BY A.RN1, A.BUREAU_CODE, A.RN2, A.DEFECTLEVELCODE DESC
传入的参数分别是:2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-01 14:44:05.212(Timestamp), 2011-12-31 14:44:05.212(Timestamp)。
运行报错:ORA-01861: 文字与格式字符串不匹配。
作者: java_dingpang 发布时间: 2011-12-11
TO_DATE(?, 'yyyy-MM-dd')
传的参数应该是字符串型,格式2011-12-01
传的参数应该是字符串型,格式2011-12-01
作者: ruogannian 发布时间: 2011-12-11
引用 1 楼 ruogannian 的回复:
TO_DATE(?, 'yyyy-MM-dd')
传的参数应该是字符串型,格式2011-12-01
TO_DATE(?, 'yyyy-MM-dd')
传的参数应该是字符串型,格式2011-12-01
此兄说的有道理,如果是Date类型,可以去掉TO_DATE也可。
分给你了!多谢
作者: java_dingpang 发布时间: 2011-12-11
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28