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
 General SQL Server Forums
 New to SQL Server Programming
 using IF or case and data format.

Author  Topic 

andypgill
Starting Member

34 Posts

Posted - 2012-11-30 : 10:03:13
Hi All

I have a field (subjective) that can contain numbers or text.

What I am trying to do is create a calculated field that shows a 1 if subjective begins with a 4 and show 2 if it doesn't.

I have tried

CASE
WHEN left(f.subjective,1),= '4' THEN 1
else 2
END AS CalculatedPrice

I get the error "An expression of non-boolean type specified in a context where a condition is expected, near ','"

If I try

CASE
WHEN cast(left(f.subjective,1),varchar(50)) = '4' THEN 1
else 2
END AS CalculatedPrice

I get the error "'varchar' is not a recognized built-in function name"

Similar if I try nvarchar.

Thanks


jimf
Master Smack Fu Yak Hacker

2875 Posts

Posted - 2012-11-30 : 10:12:19
Both have syntax errors in them
CASE
WHEN left(f.subjective,1),= '4' THEN 1
else 2
END AS CalculatedPrice

CASE
WHEN left(cast(f.subjective as varchar(50)),1) = '4' THEN 1
else 2
END AS CalculatedPrice


Jim

Everyday I learn something that somebody else already knew
Go to Top of Page
   

- Advertisement -