[转]mysql case when
程序员文章站
2024-03-12 20:32:08
...
update `dopool_publish` set flag = case when flag=2 then 0 when flag=0 then 2 end
sql 中 case when 是标准sql吗,不同数据库之间存在差异不?是否能通用 希望能给出相关文献,网上没有搜到 谢谢
(CASE
WHEN `is_finance` = 0 THEN 1
WHEN `is_finance` = 1 THEN 2
WHEN `is_finance` = 3 THEN 3
ELSE 0
END) AS `buyway`
满意回答
2011-11-03 10:28
CASE WHEN语句在DB2,ORACLE,SQL SERVER系列,SYBASE等大型数据库都受到支持,是标准的SQL语句. 可以这样子理解:CASE... WHEN... THEN ...ELSE ...END CASE WHEN 语法有两种情况: 第一种是CASE 后面不带表达式的; CASE WHEN expression THEN 操作1 WHEN expression THEN 操作2 ....... ELSE 操作n END 第二种是CASE 后面带表达式的(而此时WHEN 后面的则是该表达式可能的值) 通用。 CASE expression WHEN expression值1 THEN 操作1 WHEN expression值2 THEN 操作2 ....... ELSE 操作n END ,经验之谈啊!
(CASE
WHEN `point` IS NULL THEN 0
ELSE `point`
END) as Point,
( CASE
WHEN `create_time` IS NOT NULL THEN from_unixtime(`user`.`create_time`, '%Y-%m-%d %H:%i:%s')
ELSE from_unixtime(`article`.`create_time`, '%Y-%m-%d %H:%i:%s')
END) as CreateTime
上一篇: Seam操作EL表達式