此问题在此处已有答案:
how to insert date and time in oracle?(5个答案)
上个月关门了。
我有以下字符串值:
15.01.2023 18.03.42
字符串
我试图将其插入Oracle中的日期列。这给出了可怕的ORA-01830错误。
insert into my_schema.my_table (date_column) values ('15.01.2023 18.03.42')
型
其中date_column是日期列。
当检查日期的NLS格式时,它返回以下内容:
DD.MM.YYYY
型
Oracle中的Date数据类型有一个隐藏的时间元素,所以它应该可以工作-因为我之前已经选择了日期列的时间部分,格式如下:
DD.MM.YYYY HH24.MI.SS
型
所以回到上面提到的原始字符串,Date列接受这个Date + Time字符串是否缺少了什么?
1条答案
按热度按时间7fyelxc51#
你让DBMS猜测你的字符串代表什么。根据会话设置,这可能有效,也可能无效。这种事决不能碰运气。
如果你想插入一个固定的日期时间,那么使用一个时间戳文字:
字符串
如果您要将格式为'dd.mm.yyyy hh24.mi.ss'的字符串插入到日期列中,则使用具有该显式格式的
TO_DATE
:型
演示:https://dbfiddle.uk/LA2AWsPc