Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 SQL Server Development (2000)
 DATEDIFF PROBLEM WHEN I EXECUTE SQL

Author  Topic 

pipi
Starting Member

18 Posts

Posted - 2005-06-10 : 03:07:28
declare @dateapo datetime
DECLARE @SQL varchar(500)
set @dateapo=getdate()

set @SQL='set dateformat dmy;
select COUNT(*)
from csbxalkida.[DBO].koe
where (koe_kash_epi1 like 0 and koe_kash_epi2 like 0 and koe_kash_epi3 like 0 and Koe_loga_kata like ''3010000000100-5'')
and datediff(day,@dateapo,koe_hmer_ekdo)<=0'

EXEC(@SQL)


but when i execute:

Server: Msg 137, Level 15, State 2, Line 5
Must declare the variable '@dateapo'.


THEN I TRIED THIS
set @SQL='set dateformat dmy;
select COUNT(*)
from csbxalkida.[DBO].koe
where (koe_kash_epi1 like 0 and koe_kash_epi2 like 0 and koe_kash_epi3 like 0 and Koe_loga_kata like ''3010000000100-5'')
and datediff(day,'+@dateapo+',koe_hmer_ekdo)<=0'


BUT @dateapo IS DATETIME ,BUT:
Server: Msg 241, Level 16, State 1, Line 6
Syntax error converting datetime from character string.




madhivanan
Premature Yak Congratulator

22864 Posts

Posted - 2005-06-10 : 03:19:29
You need to convert it to varchar
eg

declare @dateapo datetime
DECLARE @SQL varchar(500)
set @dateapo=getdate()

set @sql='select datediff(day,'+''''+convert(varchar(30),@dateapo)+''''+',''10-oct-2005'')'
exec(@sql)


Madhivanan

Failing to plan is Planning to fail
Go to Top of Page

pipi
Starting Member

18 Posts

Posted - 2005-06-10 : 03:44:40
thank you!!!it works
Go to Top of Page
   

- Advertisement -