我想知道是不是建议在SQLite(或其他SQL引擎)中使用CASE语句来替换数据.例如,假设我有一个查询.
SELECT Users, CASE WHEN Active = 0 THEN 'Inactive' WHEN Active = 1 THEN 'Active' WHEN Active = 2 THEN 'Processing' ELSE 'ERROR' END AS Active FROM UsersTable;
何时更好地创建引用表并执行JOIN.在这种情况下,我将使用ActiveID,ActiveDescription创建一个表'ActiveStatesTable'并执行JOIN.
CASE语句是首选语法:
它是ANSI(92?),因此它支持MySQL,Oracle,SQL Server,Postgres ......与数据库供应商特定的IF语法不同
它支持短周期 - 一旦标准匹配,其余的评估不会执行