Sybase-SQL链接服务器:使用变量时参数不正确

Sybase-SQL链接服务器:使用变量时参数不正确,sql,sql-server,sap-ase,Sql,Sql Server,Sap Ase,我一直在使用一个SQL Server,它将Sybase服务器设置为链接服务器 我可以通过这个查询链接服务器的表 SELECT * FROM [LinkDb].[Database].[dbo].TABLENAME 今天我遇到了一个问题,当我试图使用变量来过滤日期和日期值时 我把它缩小到这个查询: declare @dateVal nvarchar(90) set @dateVal = (select convert(varchar, getdate(), 126) + '0000') sele

我一直在使用一个SQL Server,它将Sybase服务器设置为链接服务器

我可以通过这个查询链接服务器的表

SELECT * FROM [LinkDb].[Database].[dbo].TABLENAME
今天我遇到了一个问题,当我试图使用变量来过滤日期和日期值时

我把它缩小到这个查询

declare @dateVal nvarchar(90)
set @dateVal = (select convert(varchar, getdate(), 126) + '0000')

select * from [LinkDb].[Database].[dbo].TABLENAME
where datevalue >= '2014-10-06T00:00:00.0000000' 
and datevalue <= @dateVal
declare@dateVal-nvarchar(90)
set@dateVal=(选择convert(varchar,getdate(),126)+“0000”)
从[LinkDb].[Database].[dbo].TABLENAME中选择*
其中datevalue>=“2014-10-06T00:00:00.0000000”

datevalue通过使用嵌套查询,我成功地解决了这个问题

可能适用于任何有同样经历的人

select * from [LinkDb].[Database].[dbo].TABLENAME
where datevalue >= '2014-10-06T00:00:00.0000000' 
and datevalue <= (SELECT MAX(datevalue) FROM [LinkDb].[Database].[dbo].TABLENAME)
从[LinkDb].[Database].[dbo].TABLENAME中选择*
其中datevalue>=“2014-10-06T00:00:00.0000000”

和datevalue您是否能够使用where子句中的其他列进行查询?@nikadim如果这些值是可读取的,那么是的,但是如果我尝试使用变量作为值,则会抛出错误。这将起作用:从[LinkDb].[Database].[dbo].TABLENAME where datevalue>='2014-10-06T00:00:00.0000000'。您提供的是7位毫秒。格式定义为六个:YYYY-MM-DDTHH:MM:SS:ssss。这是个问题吗?@nikadim-回到办公室,我现在可以测试了。使用文字值时,6位和7位数字都有效。无论我尝试使用什么格式,变量仍然不起作用。