- 已关闭。**此问题需要debugging details。当前不接受答案。
编辑问题以包含desired behavior, a specific problem or error, and the shortest code necessary to reproduce the problem。这将有助于其他人回答问题。
3天前关闭。
Improve this question
我尝试连接两个表,因为属性具有不同的数据类型:TIMESTAMP(6)
和CHAR(26)
。
我要把一个转换成另一个。
以下查询是在我的Oracle SQL Developer上工作的查询,但是当我在Java代码中使用JDBC时,我无法获得正确的结果。
1.我将t1.txn_id
转换为TIMESTAMP
。在Oracle SQL Developer中,它工作正常,但在我的Java应用程序中,连接不起作用,它返回exp_txt
null,即使它不是。
SELECT e.exp_txt, t1.*
FROM tb1 t1
LEFT JOIN tb2 t2
ON TO_CHAR(t1.txn_id, 'yyyy-MM-DD-HH24.MI.SS.FF') = t2.txn_id
WHERE account_num = 201
1.我将t2.txn_id
转换为时间戳,即CHAR
。在Oracle SQL Developer中,它运行良好,但在Java应用程序中,它会抛出
ORA-01830:日期格式图片在转换整个输入字符串之前结束错误。
SELECT e.exp_txt, t1.*
FROM tb1 t1
LEFT JOIN tb2 t2
ON t1.txn_id = TO_TIMESTAMP(t2.txn_id, 'yyyy-MM-DD HH24:MI:SS.FF')
WHERE account_num = 201
可能的原因和解决方案是什么?
1条答案
按热度按时间ajsxfq5m1#
我用CAST解决了这个问题!
感谢:https://www.alibabacloud.com/help/en/maxcompute/latest/convert-data-types-among-string-timestamp-and-datetime#section-qbj-kh7-z4d