Computer >> 컴퓨터 >  >> 프로그램 작성 >> MySQL

MySQL에서 FIELD() 함수는 FIND_IN_SET() 함수와 어떻게 다릅니까?


알다시피 두 함수 모두 제공된 인수에서 문자열을 검색하는 데 사용되지만 다음과 같이 두 함수 사이에 몇 가지 중요한 차이점이 있습니다. -

FIND_IN_SET() − 함수는 쉼표로 구분된 하위 문자열을 포함하는 문자열인 문자열 목록을 사용합니다. 반면에 FIELD() 함수는 검색할 문자열의 인덱스 번호(있는 경우)를 찾는 다양한 문자열 목록을 포함합니다.

FIND_IN_SET() - 검색 문자열 또는 문자열 목록과 같은 인수 중 하나라도 NULL이면 함수는 NULL을 반환합니다. 반대로 FIELD() 함수는 NULL을 반환하지 않고 검색 문자열이 NULL이면 0을 반환합니다.

예시

mysql> Select FIND_IN_SET(NULL,'Ram is a good boy') AS Result;+--------+| 결과 |+--------+| NULL |+--------+1 행 세트(0.00초)mysql> SELECT FIND_IN_SET('RAM',NULL)AS RESULT;+--------+| 결과 |+--------+| NULL |+--------+1 row in set (0.00 sec)mysql> Select FIELD(NULL,'Ram','is','good','boy');+----- --------------------------------+| FIELD(NULL,'램','이다','좋다','소년') |+---------------------------- ---------+| 0 |+-------------------------------------+1 행 세트(0.00초)