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

MySQL 테이블의 열에 레코드로 저장된 문자열의 인덱스 위치를 어떻게 찾을 수 있습니까?


FIELD() 함수를 사용하여 MySQL 테이블의 열에 레코드로 저장된 문자열의 인덱스 위치를 찾을 수 있습니다. 이를 보여주기 위해 다음 데이터가 있는 '웹사이트'라는 테이블을 사용하고 있습니다.

예시

mysql> Select * from websites;
+----+---------------+------------------------+
| Id | Purpose       | Webaddress             |
+----+---------------+------------------------+
| 1  | For tutorials | www.tutorialspoint.com |
| 2  | For searching | www.google.co.in       |
| 3  | For email     | www.gmail.com          |
+----+---------------+------------------------+
3 rows in set (0.00 sec)

이제 이 테이블의 'Purpose' 및 'Webaddress' 열에 레코드로 저장된 문자열에서 'for email'과 같은 특정 문자열의 인덱스 번호를 찾으려면 다음을 수행합니다. 쿼리가 수행합니다 -

mysql> Select FIELD('For email', purpose, webaddress) From websites;
+----------------------------------------+
| FIELD('For email', purpose, webaddress)|
+----------------------------------------+
|                                      0 |
|                                      0 |
|                                      1 |
+----------------------------------------+
3 rows in set (0.00 sec)

위의 결과 집합은 'For email' 문자열이 세 번째 행의 첫 번째 인덱스에 있음을 보여줍니다.

mysql> Select FIELD('www.tutorialspoint.com', purpose, web address) From websites;
+------------------------------------------------------+
| FIELD('www.tutorialspoint.com', purpose, web address)|
+------------------------------------------------------+
|                                                    2 |
|                                                    0 |
|                                                    0 |
+------------------------------------------------------+
3 rows in set (0.00 sec)

위의 결과 집합은 'www.tutorialspoint.com' 문자열이 첫 번째 행의 두 번째 인덱스에 있음을 보여줍니다.