programing

mysqldump에서 플로트 번호를 삽입하는 방법

randomtip 2022. 10. 3. 22:17
반응형

mysqldump에서 플로트 번호를 삽입하는 방법

파이어버드에서 온 SQL 덤프 파일이 있어SQL. MySQL(MariaDB)에서 내보낸 것과 동일합니다.상기 파일에는 다음 중 하나의 테이블 작성 문이 있습니다.

CREATE TABLE VALIORS (
....,
    STK_SUM      FLOAT DEFAULT 0,
    TWO_PERC     FLOAT,
....,
);

파일 뒷부분에는 다음 삽입문이 있습니다.

INSERT INTO VALIORS (...., SZK_ND,TWO_PERC, ....) values (...., 10039.349609375,200.78999328613281, ....);
INSERT INTO VALIORS (...., SZK_ND,TWO_PERC, ....) values (...., 10039.349609375,200.78999328613281, ....);

파일 전체가 500MB 이상이기 때문에 xampp가 설치되어 있는 Windows 머신에서는 명령줄로만 Import합니다.

다른 모든 것은 올바르게 Import되지만, 모든 플로트 번호는 반올림됩니다.내 문제는 정확히 그것들이 필요하다는 거야.그것을 달성할 방법이 있을까요?그리고 문제는 어디서 오는 거죠?

데이터 유형을 사용하여 보다 정확하게 값을 저장합니다. 그러나 그래도 값이 그대로 저장된다는 보장은 없습니다.값을 그대로 저장하려면 데이터 유형을 사용하십시오.

CREATE TABLE test(
    str VARCHAR(100),
    flt FLOAT,
    dbl DOUBLE,
    dcm DECIMAL(26, 16)
);
INSERT INTO test(str, flt, dbl, dcm) VALUES
    ('10039.349609375',    10039.349609375,    10039.349609375,    10039.349609375),
    ('200.78999328613281', 200.78999328613281, 200.78999328613281, 200.78999328613281);
SELECT * FROM test;

결과:

+--------------------+---------+-------------------+------------------------+
| str                | flt     | dbl               | dcm                    |
+--------------------+---------+-------------------+------------------------+
| 10039.349609375    | 10039.3 |   10039.349609375 | 10039.3496093750000000 |
| 200.78999328613281 |  200.79 | 200.7899932861328 |   200.7899932861328100 |
+--------------------+---------+-------------------+------------------------+

언급URL : https://stackoverflow.com/questions/55728453/how-to-insert-float-numbers-from-mysqldump

반응형