MySQL 中的 FIELD()函数

原文:https://www.geeksforgeeks.org/field-function-in-mysql-2/

FIELD()函数: 这个函数在 MySQL 中用来返回给定值列表中某个指定值的索引位置。例如,如果给定的列表是(“3”、“1”、“2”),并且要搜索索引位置的值是“1”,则该函数将返回 2 作为索引位置。

特征:

  • 该函数用于查找给定值在指定值列表中的索引位置。
  • 该函数接受两种类型的参数。
  • 第一个参数是要搜索的指定值,第二个参数是要搜索的指定值列表。
  • 该函数执行不区分大小写的搜索。
  • 如果给定值不在给定值的指定列表中,此函数返回 0。

语法:

FIELD(value, val1, val2, val3, ...)

参数: 该方法接受如下两个参数:

  • 值:要搜索的指定值。
  • val1、val2、val3、… : 要搜索的指定值列表。

返回: 返回给定值列表中指定值的索引位置。

示例-1 : 获取列表中指定值 5 的索引位置 3(“1”、“3”、“5”、“7”)。

SELECT FIELD("5", "1", "3", "5", "7");

输出:

3

示例-2 : 获取列表中指定值 5 的索引位置 2(“2”、“5”、“5”、“0”)。在列表中,值 5 被重复两次,但是函数只返回第一次使用的值位置的索引位置。

SELECT FIELD("5", "2", "5", "5", "0");

输出:

2

示例-3 : 获取列表中指定值“A”的索引位置 2(“b”、“A”、“A”、“c”)。在这里,列表中使用了字母“A”和“A”,但是该函数返回值“A”的索引位置“A”。发生这种情况是因为该函数执行不区分大小写的搜索。

SELECT FIELD("a", "b", "A", "a", "c");

输出:

2

示例-4 : 获取数值列表(0,2,4,6,8)中指定值 4 的索引位置 3。

SELECT FIELD(4, 0, 2, 4, 6, 8);

输出:

3

应用: 该函数用于返回给定值列表中指定值的索引位置。