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]