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

MySQL IN() 함수 목록에서 인용된 값과 인용되지 않은 값을 혼합하여 사용하는 것이 권장되지 않는 이유는 무엇입니까?

<시간/>

실제로 MySQL은 문자열과 같은 인용된 값과 숫자와 같은 인용되지 않은 값에 대해 서로 다른 비교 규칙을 가지고 있습니다. IN() 함수 목록에서 인용된 값과 인용되지 않은 값을 혼합하면 결과 집합이 일관되지 않을 수 있습니다. 예를 들어 아래와 같이 IN() 함수로 쿼리를 작성해서는 안 됩니다. -

Select Salary from employee where ID IN(1,’a’,2,3,’c’)

이 대신 위의 쿼리를 작성하는 더 좋은 방법은 다음과 같습니다 -

Select Salary from employee where ID IN(‘1’,’a’,’2’,’3’,’c’)