MariaDB SQL 쿼리가 select 문에서 잘린 숫자를 반환합니다.
Maria DB에서 데이터를 가져오려고 합니다.스키마의 데이터 유형은 DECIMAL(12, 8)입니다.다음 쿼리를 사용하여 쿼리할 때 프로그램에 있습니다.소수점 이하 4자리(또는 3자리)까지 자르기도 하고 반올림하기도 합니다.
select CAST(FORMAT(latitude, 100) AS FLOAT) latitude from mytable
36.173을 반환합니다. DB에는 36.17298200으로 저장되어 있습니다. 저는 36.172982로 반환하기를 원합니다.
계산에 숫자를 사용하려면 숫자를 사용하면 됩니다.변환 안 함, 안 함CAST
.
소수점 이하 6자리로 표시하려면 다음을 수행합니다.SELECTing
:
SELECT FORMAT(latitude, 6) ...
FORMAT(..., 100)
소수점 이하의 자리를 많이 줄 것입니다.
FLOAT
소수점 이하의 유의한 자리 수가 6개 또는 7개 이상인지 구별하기에 충분한 정밀도를 가지고 있지 않습니다.즉, 여기에 있는 첫 번째와 세 번째 숫자는 에서 가장 가까운 대표 가능한 숫자입니다.FLOAT
:
x4210b122 --> 36.172981262207
36.17298200
x4210b123 --> 36.172985076904
두 배:
x40421624463065f9 --> 36.1729819999999975
위도 및 경도의 경우:
FLOAT has a resolution of 1.7 m or 5.6 ft -- good enough for Vehicles
DECIMAL(8,6) 16 cm 1/2 ft -- Friends in a mall
공식 MySQL 문서에 따르면:
DECTION 및 NUMBERICAL 유형에는 정확한 숫자 데이터 값이 저장됩니다.이러한 유형은 화폐 데이터와 같이 정확한 정확성을 유지하는 것이 중요할 때 사용됩니다.MySQL에서는 NUMERICAL이 DECTICAL로 구현되므로 DECTICAL에 대한 다음 설명은 NUMERICAL에도 동일하게 적용됩니다.
부동 소수점 유형(대략 값) - FLOAT, DOUBLE
따라서 다음과 유사한 내용을 작성해야 합니다.
select CAST(FORMAT(latitude, 100) AS DECIMAL(8,6)) latitude from mytable
8은 총 자릿수이고 6은 정밀도입니다.
언급URL : https://stackoverflow.com/questions/64037536/mariadb-sql-query-returns-truncated-numbers-from-select-statement
'programing' 카테고리의 다른 글
jQuery .load() / .ajax()가 추가된 후 반환된 HTML에서 Javascript를 실행하지 않음 (0) | 2023.08.23 |
---|---|
Spring Cloud - SQS - 이 wsdl 버전에 대해 지정한 대기열이 없습니다. (0) | 2023.08.23 |
null을 확인하기 위한 select 문에서 MYSQL Case (0) | 2023.08.23 |
R 프로그래밍 언어에서 ~ (틸드) 사용 (0) | 2023.08.23 |
변경 시 AJAX에서 Wicket 텍스트 상자 값 가져오기 (0) | 2023.08.23 |