Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
First Saturday Of Fiscal Month
Message
General information
Forum:
Microsoft SQL Server
Category:
Stored procedures, Triggers, UDFs
Miscellaneous
Thread ID:
01448576
Message ID:
01448597
Views:
28
>Ok, this is strange:
>
>
>DECLARE @FirstSat VARCHAR(11)
>
>DECLARE @Temp VARCHAR(46)
>SELECT @Temp = '2010-04-Apr'
>DECLARE @DATE DATETIME
> 
>SELECT @DATE = LEFT(@Temp,7) + '-01'
> 
>SELECT TOP 1 @FirstSat = DATEADD(dd,number,@DATE)
>	FROM master..spt_values
>	WHERE type = 'p' AND
>		  DATEPART(dw,DATEADD(dd,number,@DATE)) = 7
>	ORDER BY 1 ASC
>
>SELECT @FirstSat
>
>
>/*
>
>DECLARE @Temp VARCHAR(46)
>SELECT @Temp = '2010-04-Apr'
>DECLARE @DATE DATETIME
> 
>SELECT @DATE = LEFT(@Temp,7) + '-01'
> 
>SELECT TOP 1 DATEADD(dd,number,@DATE) AS FirstSat 
>	FROM master..spt_values AS FirstSat
>	WHERE type = 'p' AND
>		  DATEPART(dw,DATEADD(dd,number,@DATE)) = 7
>	ORDER BY 1 ASC
>*/
>
>
>Run both queries. They return different formats. I need back a DATETIME.



It is normal. In first query you declare @FirstSat as VARCHAR(11), in second query datetime is not converted.

Just declare @FirstSat as DATETIME and both queries will return the same type.
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform