当前位置: 首页 > 知识库问答 >
问题:

ORA-01843:在oracle中插入日期时不是有效的月份

何志业
2023-03-14
$sqlString = sprintf("INSERT INTO GUASTI (%s, %s, %s, %s, %s, %s) 
                      VALUES ('%s', '%s', '%s', '%s', '%s', '%s')"
                      ,'guasto','tipo','data', 'localita', 'indirizzo_id', 'utente_id',
                       $array['guasto'], $array['tipo'], $array['data'], $array['localita'], $idUtenti, $idIndirizzo);

其中$array['data']25/01/2013 12:07:19

附言。我知道那里有安全问题,但现在不是问题。

共有1个答案

陶裕
2023-03-14

mm表示月份。使用mi分钟。

你有

HH:MM:SS

每次分钟大于12都会触发错误,因为您告诉Oracle将其解释为月份。

DD/MM/YYYY HH24:MI:SS
DD/MM/YYYY HH:MI:SSAM

后来呢

02/01/2013 07:42:00am

编辑

您正在以默认格式插入日期,即mm/dd/yyyy(美国标准):25不是有效的月份。可以使用to_date函数

'TO_DATE(' . $array['data'] . ', DD/MM/YYYY HH24:MI:SS)'
 类似资料:
  • 我为PHP更改了OCI8版本,由于该查询不起作用: 我收到这个消息: 消息:oci_execute():ora-01843:不是有效月份 它与Toad一起用于Oracle11。你有什么解决办法吗? 谢谢:)

  • 我在尝试从按日期筛选的表中选择数据时遇到了一个问题。 例如: null 此选择的结果是:

  • 然后我运行下面这行: 当ASP.NET运行这行时,我得到错误“ORA-01843:不是一个有效的月份”。 似乎命令将“dateResult”列理解为日期,但它是一个整数。 我已经试过这样的石膏了,也不起作用:

  • 我试图将日期值插入到oracle数据库中,但它抛出java.sql.sqldataexception:ORA-01843:不是一个有效的月份。发生的最奇怪的事情是,当我打开oracle仪表板并在sql命令中执行相同的查询时,它完全工作,但当试图从java执行查询时,它启动了异常 这是我的密码 我确信问题来自查询,所有属性值都是正确的

  • 当我使用php中的上述查询将记录插入到oracle数据库时,它给出了以下错误。 但是当我使用下面的查询时,它没有给出任何错误,而是插入了记录。如何解决这个问题?这个错误已经存在了,但我不清楚答案。任何想法为什么会这样。

  • 我有一个在PL-SQL视图中使用的查询。该视图包含一个名为Jde_date的函数,该函数采用Julian格式的date参数并将其转换为Gregorian格式,它工作得很好。 查询如下: 但是当我发布报告时,我得到错误ORA-01843:不是一个有效的月份。 我该怎么解决?