首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在EXCEL ORACLE CONNECTION中将两个查询连接成一个查询

如何在EXCEL ORACLE CONNECTION中将两个查询连接成一个查询
EN

Stack Overflow用户
提问于 2013-11-16 02:42:19
回答 1查看 391关注 0票数 0

我有两个问题。

我正在尝试加入他们,所以我只是从一个写导出,而不是手动加入他们在excel中。

代码语言:javascript
复制
(SELECT 
        b.OUT_NO, 
        a.ACCNO, 
        a.BILL_ACCNO, 
        a.NAME, 
        a.HOUSE_NO, 
        a.STREET, 
        a.HOUSE_NO2, 
        a.ZIP, 
        a.ID, 
        b.TIME_STAMP, 
        b.REST_DATE, 
        c.RESTORED_TIME, 
        b.OUT_CMNT
   FROM brook.account a, 
        brook.problem b, 
        brook.history c
  WHERE c.OUT_NO = b.OUT_NO 
    AND a.ID = c.ID 
    AND (  (a.NAME Is Not Null) 
       AND (a.DISC Is Null) 
       AND (b.TIME_STAMP>?) 
       AND (c.RESTORED_TIME<?))
)

代码语言:javascript
复制
(SELECT 
       b.OUT_NO, 
       a.ACCNO, 
       a.BILL_ACCNO, 
       a.NAME, 
       a.HOUSE_NO, 
       a.STREET, 
       a.HOUSE_NO2, 
       a.ZIP, 
       a.ID, 
       b.TIME_STAMP, 
       b.REST_DATE, 
       c.RESTORED_TIME, 
       b.OUT_CMNT
  FROM brook.account a, 
       brook.problem b, 
       brook.history c
 WHERE c.OUTAGE_NO = b.OUTAGE_NO 
   AND a.ID = c.ID 
   AND (   (a.NAME Is Not Null) 
       AND (a.DISC Is Null) 
       AND (b.TIME_STAMP > ? And b.TIME_STAMP < ?) 
       AND (c.RESTORED_TIME > ? And c.RESTORED_TIME < ?)
       )
)

我怎样才能加入这2个呢?在1中,我尝试了UNION ALL,但是我得到了ora-01847 day of month must be between 1 and last day of month错误。

?是参数,它链接到电子表格上的单元格。excel数据参数的格式。11/04/2013 00:00:00

谢谢

EN

回答 1

Stack Overflow用户

发布于 2013-11-16 19:53:51

错误是关于日期格式的,而不是关于联合的。

如果您将单元格值作为字符串参数传递,Oracle会尝试将其转换为日期,以便与表列中的datetimestamp值的列相比较。为了完成这个转换,Oracle使用它内部的默认date representation format,在本例中它不是mm/dd/yyyy hh24:mi:ss

解决这种情况有两种可能:

  1. 传递带有date类型的参数,以便在将值传递给Oracle之前查询并将值转换为日期。查看examples on MSDN以及CreateParameterParameters.Append方法的描述。
  2. 使用to_date Oracle函数将查询中的值转换为日期。

更改查询来源中的条件

代码语言:javascript
复制
   AND (b.TIME_STAMP>?) 
   AND (c.RESTORED_TIME<?))

代码语言:javascript
复制
   AND (b.TIME_STAMP > ? And b.TIME_STAMP < ?) 
   AND (c.RESTORED_TIME > ? And c.RESTORED_TIME < ?)

代码语言:javascript
复制
   AND (b.TIME_STAMP > to_date(?,'mm/dd/yyyy hh24:mi:ss') ) 
   AND (c.RESTORED_TIME < to_date(?,'mm/dd/yyyy hh24:mi:ss') ))

代码语言:javascript
复制
   AND (
        b.TIME_STAMP > to_date(?,'mm/dd/yyyy hh24:mi:ss') 
        And 
        b.TIME_STAMP < to_date(?,'mm/dd/yyyy hh24:mi:ss')
       ) 
   AND (
        c.RESTORED_TIME > to_date(?,'mm/dd/yyyy hh24:mi:ss') 
        And 
        c.RESTORED_TIME < to_date(?,'mm/dd/yyyy hh24:mi:ss')
       )
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20008304

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档