【问题标题】:Bad defined sql query date on PHPPHP上定义错误的sql查询日期
【发布时间】:2015-08-05 07:06:36
【问题描述】:

我正在尝试通过这种方式访问​​数据库:

$query="SELECT VAR1, VAR2  FROM TABLE WHERE DATE1 = TO_DATE('2010/01/01 01:00:00','YYYY/MM/DD hh24:mm:ss')";
$stmt = oci_parse($conn, $query);
oci_execute($stmt);

但我收到此错误: 警告:oci_execute(): 在 C:\Program Files\EasyPHP-DevServer-14.1VC11\data\localweb\monitorizaR\uploader.php 第 79 行

但是如果我这样放置代码行,它可以工作..

$query="SELECT VAR1, VAR2  FROM TABLE WHERE DATE1 = TO_DATE('2010/01/01','YYYY/MM/DD')";
$stmt = oci_parse($conn, $query);
oci_execute($stmt);

日期格式肯定是一件很傻的事情,但我尝试了很多方法来做到这一点。

问候!

【问题讨论】:

  • DATE1 的数据类型是什么,日期以什么格式保存在那里?
  • 它的 oracle 不是 mysql 对吗?请仅添加相关标签
  • 当我通过 excel 访问数据库时,它的格式为“2010/01/01 01:00:00”。我可以通过一些查询知道DATE1 的数据类型吗?
  • 你可以简单地执行DESCRIBE tablename来查看你的表结构
  • desc table_nameselect data_type from all_tab_columns where owner = 'your_schema' and table_name = 'your_table_name'

标签: php sql oracle


【解决方案1】:

您的minute部分日期不正确,它是mi而不是mm

SELECT
    VAR1, 
    VAR2  
FROM TABLE 
WHERE DATE1 = TO_DATE('2010/01/01 01:00:00','YYYY/MM/DD hh24:mi:ss')

【讨论】:

    【解决方案2】:

    您的日期格式错误。试试

    $query="SELECT VAR1, VAR2  FROM TABLE WHERE DATE1 = TO_DATE('2010/01/01 01:00:00','YYYY/MM/DD HH24:MI:SS')";
    $stmt = oci_parse($conn, $query);
    oci_execute($stmt);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-03-16
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      • 2021-09-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多