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 2005 Forums
 Transact-SQL (2005)
 nested Case

Author  Topic 

icw
Constraint Violating Yak Guru

378 Posts

Posted - 2010-09-05 : 00:38:33
Hi Can anyone help me out with the syntax for my nested case statement. (all fields are varchar)

SELECT
CASE WHEN isdate(ParkedDate1) = 1 THEN
'Parked: ' + Char(9) + [ParkedDate1]+' '+[ParkedTime1] +' - '+ [UnParkedDate1]+' '+[UnParkedTime1] + Char(13) + Char(10) ELSE
CASE WHEN isdate(ParkedDate2) = 1 THEN
'Parked: ' + Char(9) + [ParkedDate2]+' '+[ParkedTime2] +' - '+ [UnParkedDate2]+' '+[UnParkedTime2] + Char(13) + Char(10) ELSE
CASE WHEN isdate(ParkedDate2) = 1 THEN
'Parked: ' + Char(9) + [ParkedDate3]+' '+[ParkedTime3] +' - '+ [UnParkedDate3]+' '+[UnParkedTime3] + Char(13) + Char(10) ELSE ''
FROM detail where callid = '00167996' END


Error:
Msg 156, Level 15, State 1, Line 8
Incorrect syntax near the keyword 'FROM'.

icw
Constraint Violating Yak Guru

378 Posts

Posted - 2010-09-05 : 00:51:01
This is my second attempt. Still doesn't work.

I can't seem to get the syntax right


select case
WHEN isdate(ParkedDate1) = 1 THEN 'Parked: ' + Char(9) + [ParkedDate1]+' '+[ParkedTime1] +' - '+ [UnParkedDate1]+' '+[UnParkedTime1] + Char(13) + Char(10)
ELSE (case
WHEN isdate(ParkedDate2) = 1 THEN 'Parked: ' + Char(9) + [ParkedDate2]+' '+[ParkedTime2] +' - '+ [UnParkedDate2]+' '+[UnParkedTime2] + Char(13) + Char(10)
else (case
WHEN isdate(ParkedDate3) = 1 THEN 'Parked: ' + Char(9) + [ParkedDate3]+' '+[ParkedTime3] +' - '+ [UnParkedDate3]+' '+[UnParkedTime3] + Char(13) + Char(10)
else '' ))
end
from detail where callid = '00167996'
Go to Top of Page

icw
Constraint Violating Yak Guru

378 Posts

Posted - 2010-09-05 : 00:56:28
NOW WORKING SEE BELOW

select case
WHEN isdate(ParkedDate1) = 1 THEN 'Parked: ' + Char(9) + [ParkedDate1]+' '+[ParkedTime1] +' - '+ [UnParkedDate1]+' '+[UnParkedTime1] + Char(13) + Char(10)
ELSE (case
WHEN isdate(ParkedDate2) = 1 THEN 'Parked: ' + Char(9) + [ParkedDate2]+' '+[ParkedTime2] +' - '+ [UnParkedDate2]+' '+[UnParkedTime2] + Char(13) + Char(10)
else (case
WHEN isdate(ParkedDate3) = 1 THEN 'Parked: ' + Char(9) + [ParkedDate3]+' '+[ParkedTime3] +' - '+ [UnParkedDate3]+' '+[UnParkedTime3] + Char(13) + Char(10)
else '' end )end)
end
from detail where calllog.callid = '00167996'
Go to Top of Page
   

- Advertisement -