>  기사  >  데이터 베이스  >  MySQL은 비교 시 자동으로 문자열을 숫자로 변환합니까?

MySQL은 비교 시 자동으로 문자열을 숫자로 변환합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-19 06:14:02724검색

Does MySQL Automatically Convert Strings to Numbers in Comparisons?

MySQL은 자동으로 문자열을 숫자로 변환할 수 있습니까?

MySQL은 문자열을 숫자 값으로 자동 변환하거나 변환하여 원활한 데이터 조작을 가능하게 하는 기능을 보유하고 있습니다. . 이 변환은 이러한 작업을 제어하는 ​​특정 규칙을 따릅니다.

문자열 변환 작동 방식

  • '1234'와 같은 문자열은 해당 정수(예: ' 1234' = 1234).
  • 숫자와 숫자가 아닌 문자를 모두 포함하는 문자열 (예: '1abc')는 숫자가 아닌 문자가 처음 나타날 때까지 숫자 부분으로 변환됩니다(예: '1abc' = 1).
  • 전체가 숫자가 아닌 문자로 구성된 문자열(예: ' text')는 0으로 변환됩니다.

특정 해석 쿼리

다음 쿼리를 생각해 보세요.

SELECT table.* 
FROM table 
WHERE>

'id' 열이 bigint 유형으로 정의된 경우 이 쿼리는 어떻게 해석되나요?

답변:

MySQL 문서에 따르면, 한 인수가 문자열이고 다른 인수가 숫자 유형인 경우 비교는 부동 소수점 숫자로 수행됩니다. 따라서 위 쿼리는 다음과 같습니다.

WHERE id = 0.0

위 내용은 MySQL은 비교 시 자동으로 문자열을 숫자로 변환합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.