连接oracle分布查询报错

gem227 2011-08-25 02:31:59
decalre @startdate varchar(10)
declare @stopdate varchar(10)

set @startdate=convert(varchar(100),getdate()-2,23)
set @stopdate=convert(varchar(100),getdate()-2,23)


select * from openquery(his,'select * from v where C>=@startdate and C<@stopdate')

请问这个变量设置是不是有问题,我这总是报错
...全文
88 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
gem227 2011-08-25
  • 打赏
  • 举报
回复
maco_wang 你这个也有语法错误
gem227 2011-08-25
  • 打赏
  • 举报
回复
maco_wang 我贴出来的写错了,原程序set @stopdate=convert(varchar(100),getdate(),23)
gem227 2011-08-25
  • 打赏
  • 举报
回复
ssp2009 你这好像也有错误 ,不行啊
叶子 2011-08-25
  • 打赏
  • 举报
回复

decalre @startdate varchar(10) --declare 你拼写错了
declare @stopdate varchar(10)

set @startdate=convert(varchar(100),getdate()-2,23)--/*2011-08-23 这个格式没有必要用varchar(100)*/
set @stopdate=convert(varchar(100),getdate()-2,23) --你的开始和结束是相同的????


select * from openquery(his,'select * from v where C>=@startdate and C<@stopdate')--这样变量进不去呀?
--改成
select * from openquery(his,'select * from v where C>='''+@startdate+''' and C<'''+@stopdate+'''')
--试试
gem227 2011-08-25
  • 打赏
  • 举报
回复
我在这打错了,程序上没有错,然后报,missing expression
zhangpeiying163 2011-08-25
  • 打赏
  • 举报
回复
'select * from v where C>=@startdate and C<@stopdate',先测这个有问题没有
快溜 2011-08-25
  • 打赏
  • 举报
回复
纠正下你的语法错误,至于能不能查到数据,不清楚
select * from openquery(his,'select * from v where C>='+@startdate+' and C<'+@stopdate)
geniuswjt 2011-08-25
  • 打赏
  • 举报
回复

--你这俩时间的区别在哪?

PS:建议直接去 oracle版块
--传送门
oracle
go
怪众生太美丽 2011-08-25
  • 打赏
  • 举报
回复

呃...varchar是可变的,
declare @startdate varchar(10)
declare @stopdate varchar(10)

set @startdate=convert(varchar(100),getdate()-2,23)
set @stopdate=convert(varchar(100),getdate()-2,23)
select @startdate
select @stopdate
函数写错了..declare
chuanzhang5687 2011-08-25
  • 打赏
  • 举报
回复
去oracle版问问
怪众生太美丽 2011-08-25
  • 打赏
  • 举报
回复
肯定要错了,VARCHAR(100)赋值给VARCHAR(10)

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧