format code appears twice
翻译:格式代码出现两次
原因:Oracle中不区分大小写,yyyy-MM-dd hh24:mm:ss
中的MM
和mm
对Oracle来说是相同的,所以出现该错误。
解决办法:使用yyyy-MM-dd hh24:mi:ss
参考:https://blog.csdn.net/zhiweianran/article/details/8437676
select to_date(to_char(sysdate,'yyyy-MM-dd'),'yyyy-MM-dd hh24:mm:ss') from dual;
-- format code appears twice
select to_date('2021-06-02 00:00:00','yyyy-MM-dd hh24:mm:ss') from dual;
-- format code appears twice
select to_date(to_char(sysdate,'yyyy-MM-dd'),'yyyy-MM-dd hh24:mi:ss') from dual;
-- 正确执行
select to_date('2021-06-02 00:00:00','yyyy-MM-dd hh24:mi:ss') from dual;
-- 正确执行
literal does not match format string
翻译:字符串格式不匹配
原因:字符串和DATE类型进行比较
解决办法:字符串转换成Date,to_date('2021-05-07 00:00:00','yyyy-MM-dd hh24:mi:ss');
参考:https://blog.csdn.net/qq122261257/article/details/8613735/
select sysdate from dual where sysdate = '2021-05-07 00:00:00'
-- literal does not match format string
select sysdate from dual where sysdate = to_date('2021-05-07 00:00:00','yyyy-MM-dd hh24:mi:ss');
-- 正确执行
quoted string not properly terminated
翻译:引用字符串不正确的终止
原因:字符串引号缺失
select to_char(sysdate,'yyyy-MM-dd hh24:mm:ss') from dual
-- 正确执行
select to_char(sysdate,'yyyy-MM-dd hh24:mm:ss) from dual
-- quoted string not properly terminated