On Wednesday, March 09, 2005 07:49, Philippe Poelvoorde wrote:

> Daniel Kasak wrote:
>> Homam S.A. wrote:
>> 
>>> In the documentation, it doesn't mention which version
>>> of MySQL supports the CASE statement, but it refers to
>>> stored procedures, so is it only supported for 5.x?
>>> 
>>> I can't get any example of a CASE statement work in MySQL.
>>> 
>>> 
>>> 
>> <snipped>
>> 
>>> For example, I can execute the following in MS SQL
>>> Server:
>>> 
>>> UPDATE MyTable
>>> SET
>>> field1 = CASE WHEN field3 = 1 THEN 10 ELSE 20 END,
>>> field2 = field2 | CASE WHEN field4 = 'B' THEN 1 ELSE 0
>>> END | CASE WHEN field4 = 'C' THEN 2 ELSE 0 END

What error do you get? I can get a statement similar to this to work.
 
>> Case works in 4.0.x ( and maybe before, haven't checked ).
>> Your problem is elsewhere.
>> I'm not sure if you can use the pipe symbol as an OR operator in the
>> way you want - to be honest I haven't used it at all in SQL.
>> Try rewriting it to use nothing but case statements ( no | operators
>> ). 
>> 
> 
> http://dev.mysql.com/doc/mysql/en/logical-operators.html
> 
> it's || not | (not sure about bit-operation...)

The | is a bitwise OR.

http://dev.mysql.com/doc/mysql/en/bit-functions.html

-- 
Tom Crimmins
Interface Specialist
Pottawattamie County, Iowa

-- 
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to