my sql 데이터 형식 변환 실현

문제
아래 그림 과 같은 표 가 있 습 니 다.result 값 이 reference 보다 큰 것 을 찾 아야 합 니 다.하 이 데이터

그리고 우 리 는 아래 의 SQL 조회 문 구 를 썼 다.

SELECT i.result,i.reference_high FROM report_item i
LEFT JOIN report r ON r.id=i.report_id 
WHERE r.org_id=54 AND r.report_status=1
AND r.add_date BETWEEN '2020-12-01' AND '2020-12-28' 
AND i.reference_high<>'' AND i.result<>''
AND i.result > i.reference_high ;

그리고 결 과 를 확인 합 니 다.

조회 결 과 는 우리 가 예 상 했 던 것 처럼 대량의 데이터 가 i.result>i.reference 에 만족 하지 않 습 니 다.높 은 조회 조건
포 지 셔 닝
작성 표 SQL 문 구 를 보면 result 와 reference 를 발견 합 니 다.high 는 varchar 형식 으로 수치 형식 이 아니 기 때문에 조회 결과 가 예상 과 맞지 않 는 상황 이 발생 했 습 니 다.

해결
방식 1:표 필드 데이터 형식 을 수치 형 으로 수정 합 니 다.
그러나 업무 사용 장면 을 고려 하면 두 필드 모두 비수 치 유형의 입력 이 나타 날 수 있 기 때문에 불가능 하 다 
방식 2:검색 어 를 수정 하고 데이터 형식 을 수치 형 으로 변환 합 니 다.

이상 의 데이터 로 예시 하 다
1.암시 적 변환:비교 할 문자열 을 0 으로 추가 한 다음 에 비교 하면 데이터 가 성공 적 으로 걸 러 집 니 다.

2.디 스 플레이 변환
(1)convert 함수 사용:문자열 을 부동 소수점 으로 변환 하고 비교 하면 데이터 가 성공 적 으로 걸 러 집 니 다.

(2)캐 스 트 함수 사용:convert 함수 와 거의 같 음

my sql 데이터 형식 변환 실현 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 my sql 데이터 형식 변환 내용 은 예전 의 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 도 많은 응원 부 탁 드 리 겠 습 니 다!

좋은 웹페이지 즐겨찾기