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 2008 Forums
 Transact-SQL (2008)
 if else statement dependent on query

Author  Topic 

duncant
Starting Member

18 Posts

Posted - 2012-06-06 : 06:24:42
I'm running 2 queries:
1. Get a numeric result
2. running last query based on that result
But I'm getting an error:
Implicit conversion from data type sql_variant to int is not allowed. Use the CONVERT function to run this query.

[code]
declare @StartDate datetime
declare @EndDate datetime
declare @myNumber sql_variant
declare @i int

set @StartDate = '01/01/2012'
set @EndDate = '03/31/2012'
set @i = 0
set @myNumber = (select DaysBetween
from
(
select count(*) as TheNumber from myTable where (MyDate between @StartDate and @EndDate)
)
as TheNumber)
if(cast(@myNumber as int) >=@i)
begin
--select statement
end
else
begin
--run other select statement
end

Any ideas?

nigelrivett
Master Smack Fu Yak Hacker

3385 Posts

Posted - 2012-06-06 : 06:40:34
if is control of flow - can't be put in a select statement

declare @StartDate datetime
declare @EndDate datetime
declare @i int

set @StartDate = '01/01/2012'
set @EndDate = '03/31/2012'
set @i = 0

declare @myNumber int
select @myNumber = count(*)
from myTable
where (MyDate between @StartDate and @EndDate)

if @myNumber >=@i
begin
--select statement
end
else
begin
--run other select statement
end


==========================================
Cursors are useful if you don't know sql.
SSIS can be used in a similar way.
Beer is not cold and it isn't fizzy.
Go to Top of Page

duncant
Starting Member

18 Posts

Posted - 2012-06-06 : 06:53:27
Cheers!
Go to Top of Page
   

- Advertisement -