首页 >数据库 >mysql教程 >如何在PostgreSQL中模拟MySQL的FIELD()函数?

如何在PostgreSQL中模拟MySQL的FIELD()函数?

Patricia Arquette
Patricia Arquette原创
2024-12-08 01:38:11302浏览

How to Simulate MySQL's FIELD() Function in PostgreSQL?

在 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn