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
>>
>>
> 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...)
--
Philippe Poelvoorde
COS Trading Ltd.