首页 > 数据库 > 国内数据库 > 实用的FIELD函数
因在工作中遇到一些需要按自己想要的列表来排序的方法,于是查看SQL 语言使用手册,了解了一个很实用的函数FIELD ,FIELD 函数的功能是实现按指定列的指定值列表来返回这列结果。
如DMHR 的JOB 表中数据如下:

我们想要查询职位的最低工资,且JOB_TITLE 列按照文员、总经理助理、总经理、秘书这个顺序排序,那么可以按下面方式进行查询:
SELECT
JOB_TITLE ,
MIN_SALARY
FROM
DMHR . JOB1
ORDER BY
FIELD ( JOB_TITLE , ' 文员 ' , ' 总经理助理 ' , ' 总经理 ' , ' 秘书 ' );
返回结果如下:

但是需要注意的是,如果 JOB_TITLE 中存在不在 FIELD 列表中的值,那么不存在列表中的值会排在列表值之前,如:
SELECT
JOB_TITLE ,
MIN_SALARY
FROM
DMHR . JOB1
ORDER BY
FIELD ( JOB_TITLE , ' 文员 ' , ' 总经理助理 ' , ' 总经理 ' );
结果如下:

另外,FIELE 函数还有一个实用的功能,就是返回列表中第一这个值在后面列表中第一次出现的位置,如:
select FIELD ( ' 总经理 ' , ' 文员 ' , ' 总经理助理 ' , ' 总经理 ' , ' 总经理 ' );
返回结果是第一值“总经理”在后面列表中的位置:

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69949798/viewspace-2679217/ ,如需转载,请注明出处,否则将追究法律责任。