>  기사  >  데이터 베이스  >  다음은 제공된 텍스트를 기반으로 한 몇 가지 질문 기반 제목으로, 각 제목은 문제의 다양한 측면에 중점을 둡니다. 옵션 1(문제에 집중): * 내 MySQL SELECT 쿼리가 Res를 반환하지 않는 이유는 무엇입니까?

다음은 제공된 텍스트를 기반으로 한 몇 가지 질문 기반 제목으로, 각 제목은 문제의 다양한 측면에 중점을 둡니다. 옵션 1(문제에 집중): * 내 MySQL SELECT 쿼리가 Res를 반환하지 않는 이유는 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-10-28 12:36:31405검색

Here are a few question-based titles based on your provided text, each focusing on a different aspect of the issue:

Option 1 (Focusing on the problem):

* Why Does My MySQL SELECT Query Return No Results When Using a Float for Matching?

Option 2 (Focusi

정확한 SELECT 일치를 위해 MySQL Float 캐스팅

부동 소수점 값을 조건으로 사용하여 SELECT 쿼리를 수행하려고 하면 예상치 못한 동작이 발생하는 경우가 많습니다. 다음 문제는 이 과제를 예시합니다.

<code class="sql">SELECT * FROM `table` WHERE `ident`='ident23' AND `price`='101.31';</code>

이 쿼리는 가격 열의 데이터베이스에 값 101.31이 나타나더라도 0개의 행을 반환합니다. 가격 조건을 제거하면 예상 행이 반환됩니다.

이 문제를 해결하려면 다음 해결 방법을 고려하십시오.

CAST를 사용하여 DECIMAL로 변환

부동 소수점 값을 다음으로 캐스팅 비교하기 전에 DECIMAL 유형을 사용하면 적절한 정밀도가 보장됩니다.

<code class="sql">SELECT * FROM table WHERE CAST(price AS DECIMAL) = CAST(101.31 AS DECIMAL);</code>

데이터베이스 구조 수정

금전적 가치에 대한 더 나은 정밀도를 제공하는 DECIMAL 유형으로 가격 열을 수정하는 것이 좋습니다.

ALTER TABLE `table` MODIFY COLUMN `price` DECIMAL;

위 내용은 다음은 제공된 텍스트를 기반으로 한 몇 가지 질문 기반 제목으로, 각 제목은 문제의 다양한 측면에 중점을 둡니다. 옵션 1(문제에 집중): * 내 MySQL SELECT 쿼리가 Res를 반환하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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