使用PHP在Oracle SP中插入日期

时间:2016-03-21 15:29:53

标签: php oracle

我有以下内容:

日期,但作为字符串(被称为参数)称为getUI().getCurrent().addWindow(new BrowserWindow("https://www.google.co.uk") ,其值为

  

21/03/2016 10:59:00

和Oracle SP:

$fecha

执行该程序时,我有下一个错误:

  遇到PHP错误      

严重性:警告

消息:oci_execute():ORA-01830:la   máscaradeformato de fecha termina antes de convertir toda la cadena   de entrada ORA-06512:enlínea2

文件名:   MarcarCarro / MarcarCarro_model.php

行号:172

我还没有找到解决方案。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

您传递给Oracle的日期与Oracle期望的格式不同(Oracle期望的格式取决于客户端的配置)。 您可以使用临时变量明确指定要传递的格式,如下所示。

declare 
  input_date date;
BEGIN
 input_date:=to_datE(:p_fecha_marca,'DD/MM/YYYY hh24:mi:ss'); 

 BD_SGMR.mr_grabar_marca_carro(
                                                        input_date,                                                       
                                                        :estado,
                                                        :mensaje
                                                );
 END;

要更改oracle的格式,您可以发出以下声明:

ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY hh24:mi:ss'