在 Postgresql 中模拟 MySQL FIELD()
从 MySQL 转换到 PostgreSQL 可能会带来不可预见的挑战。其中一个问题是模拟 ORDER BY FIELD() 功能,Postgresql 中不直接支持该功能。
在 MySQL 中,FIELD() 函数将序数位置分配给指定列表中的值,并根据这些职位。例如,MySQL 中的以下查询:
根据FIELD()列表中指定的顺序对currency_codes表进行排序,然后按名称的字母顺序排序。
要实现类似的行为Postgresql,您可以在 ORDER BY 子句中使用 CASE 语句:
在此查询中,CASE 语句分配按指定顺序将优先级值 (1-6) 分配给代码。列表中未找到的值的默认优先级为 7。然后,结果按优先级降序和名称升序排序。
以上是如何在PostgreSQL中模拟MySQL的FIELD()函数?的详细内容。更多信息请关注PHP中文网其他相关文章!