Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL LOCATE() 함수의 인수로 정수 값을 사용하면 어떻게 될까?

MySQL LOCATE() 함수의 인수로 정수 값 사용하기

MySQL에서는 LOCATE() 함수의 인수로 정수 값을 그대로 사용할 수 있습니다. 이 경우 문자열과 달리 따옴표(' 또는 ")로 감싸줄 필요가 없습니다. LOCATE() 함수는 첫 번째 인수로 지정한 값이 두 번째 인수 안에서 처음 등장하는 위치를 반환하며, 해당 값을 찾지 못하면 0을 반환합니다.

예제

mysql> Select LOCATE(5,1698235);
+-------------------+
| LOCATE(5,1698235) |
+-------------------+
|                 7 |
+-------------------+
1 row in set (0.00 sec)

mysql> Select LOCATE(56,1698235);
+--------------------+
| LOCATE(56,1698235) |
+--------------------+
|                  0 |
+--------------------+
1 row in set (0.00 sec)

mysql> Select LOCATE(23,1698235);
+--------------------+
| LOCATE(23,1698235) |
+--------------------+
|                  5 |
+--------------------+
1 row in set (0.00 sec)

결과 분석

  • LOCATE(5, 1698235) → 7 반환 : 숫자 1698235에서 '5'가 일곱 번째 자리에 위치하기 때문입니다.
  • LOCATE(56, 1698235) → 0 반환 : '56'이라는 연속된 두 자리 숫자가 존재하지 않아 값을 찾지 못했기 때문입니다.
  • LOCATE(23, 1698235) → 5 반환 : '23'이 다섯 번째 자리부터 시작되기 때문입니다.

이처럼 LOCATE() 함수는 정수 값을 전달하더라도 해당 값을 문자열처럼 취급하여 위치를 검색하며, 별도의 형 변환이나 따옴표 처리 없이 바로 사용할 수 있다는 점이 특징입니다.