标签: mysql
有可能在mysql中做这样的事情: SELECT foo, bar, (created_at > '2012-12-12' ? 'actual': 'old') FROM table;,是否有允许我这样做的功能?
SELECT foo, bar, (created_at > '2012-12-12' ? 'actual': 'old') FROM table;
答案 0 :(得分:1)
IF是一种(稍微)更冗长的方式来做你想做的事情:
IF
SELECT foo, bar, IF(created_at > '2012-12-12','actual','old') FROM table;
答案 1 :(得分:1)
您可以使用MySQL特定的IF;
SELECT foo, bar, IF(created_at > '2012-12-12', 'actual', 'old') FROM table1
(SQLFiddle)
...或者您可以使用ANSI标准的CASE,并且几乎适用于任何SQL方言(Oracle / SQL Server / PostgreSQL /...)。
CASE
SELECT foo, bar, CASE WHEN created_at > '2012-12-12' THEN 'actual' ELSE 'old' END FROM table1
(SQLfiddle)