gpt4 book ai didi

oracle - ORA-01855 : AM/A. M. 或 PM/P.M.必需的

转载 作者:行者123 更新时间:2023-12-04 13:02:46 37 4
gpt4 key购买 nike

我收到错误:ORA-01855: AM/A.M.或下午/下午需要

当我尝试执行以下查询时。

  INSERT INTO TBL(ID,START_DATE) 
values (123, TO_DATE ('3/13/2012 9:22:00 AM', 'MM/DD/YYYY HH:MI AM'))

我的 START_DATE 列是“日期”类型。

我已经执行了以下查询并且没有错误,但在上述问题中仍然没有成功:

ALTER SESSION SET NLS_DATE_FORMAT = "MM/DD/YYYY HH:MI AM";

最佳答案

您的格式掩码必须与您要转换的字符串的格式相匹配。所以你要么想要将 SS 添加到格式掩码,要么从字符串中删除秒数

INSERT INTO TBL(ID,START_DATE) 
values (123, TO_DATE ('3/13/2012 9:22:00 AM', 'MM/DD/YYYY HH:MI:SS AM'))

INSERT INTO TBL(ID,START_DATE) 
values (123, TO_DATE ('3/13/2012 9:22 AM', 'MM/DD/YYYY HH:MI:SS AM'))

如果你想接受一个包含秒数的字符串,但又不想将秒数存储在数据库中(在这种情况下,Oracle 将始终为秒数存储 0),你可以使用 TRUNC 函数

INSERT INTO TBL(ID,START_DATE) 
values (123, TRUNC( TO_DATE ('3/13/2012 9:22:00 AM', 'MM/DD/YYYY HH:MI:SS AM'), 'MI') )

关于oracle - ORA-01855 : AM/A. M. 或 PM/P.M.必需的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9664231/

37 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com