【问题标题】:how to pass date parameter in openquery statement如何在openquery语句中传递日期参数
【发布时间】:2014-05-31 10:46:10
【问题描述】:

我有一个程序

Create procedure [dbo].[daily_stats]
@date datetime, @grouping varchar(150)
as

select callid,campaignid,dnis,anidigits,callstarttime,totalcalltime,agenttalktime,agentid,abandon,queuewaittime,calltype,call_acw,datestamp,bill_flag,
queueid,queuename,calldelayed, callholdtime, shortcall,ctr_name,role_name,team_name,callhold_times,agent_fullname,xferto,timeafterxfer,
obcallids,obcalls,obtime,orgname, getdate() as ImportedDate

into #tempid7

from openquery(orapr2, 'select * from sp_calldetail
where trunc(callstarttime) >= trunc(sysdate-1) and abandon in (0,1) and (upper(campaignid) in (''SYNAPSE'', ''SYNAPSECALLBACK'') or campaignid like ''ME%'')')

我想在trunc(sysdate-1) 传递@date 值。我该怎么做?

【问题讨论】:

    标签: oracle sql-server-2005 openquery


    【解决方案1】:

    如何在openquery语句中传递日期参数

    你可以试试这个解决方案,而不是使用openquery 函数

    EXEC LINKEDSVR_BUH_03.TestUPSERT.dbo.Customer_Select @pCustomerID = 2
    EXEC LINKEDSVR_BUH_03..dbo.Customer_Select @pCustomerID = 2 -- It uses default database (see Catalog property for linked server)
    

    或者这个

    EXEC (N'TestUPSERT.dbo.Customer_Select ?', 2) AT LINKEDSVR_BUH_03
    EXEC (N'dbo.Customer_Select ?', 2) AT LINKEDSVR_BUH_03 -- It uses default database (see Catalog property for linked server)
                                ^----- parameter placeholder
                                    ^----- parameter value
    

    【讨论】:

    • 感谢您的回应 Bogdan,但我的程序在 sqlserver 中,而 orapr2 位于 oracle 服务器上。那么我如何在 oracle 中读取 sql server 参数。
    • “[...]我如何在 oracle[...] 中读取 sql server 参数”。请改写。
    • 我必须传递@date 参数 trunc(sysdate-1) 日期参数在 sqlserver 数据库中,而 trunc(sysdate-1) 在 oracle 服务器中。
    • 帮帮我,从昨天开始我真的很挣扎。
    • "[...]for trunc(sysdate-1) date parameter[...]" TRUNC 和 SYSDATE 是函数而不是参数。
    【解决方案2】:

    我发现我必须将日期时间转换为 Oracle 格式 - 例如:

    TO_DATE(''''' + CONVERT(varchar(10), @From, 120) + ''''',''''YYYY-MM-DD'''')

    否则返回错误 - Invalid Month

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-30
      • 1970-01-01
      • 2015-03-18
      • 2016-03-26
      相关资源
      最近更新 更多