double 형 컬럼에 데이터를 insert 하다가 이상한 경우를 발견해서 문의를 드립니다.
CREATE TABLE TEST_TABLE (
test double DEFAULT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1
이렇게 테이블을 만들고 아래와 같이 insert 를 하였습니다.
INSERT INTO TEST_TABLE (test) VALUES (0.0010200210510505903);
그리고 아래처럼 조회를 했습니다.
SELECT * FROM TEST_TABLE;
그랬더니 결과가 아래처럼 나오네요.
0.000102002105105059
이게 끝부분 값이 좀 달라지면 머 그러려니 하겠는데 소수점 앞에 0 이 들어가 버리리 그렇게도 못하고요.
저만 그런건가요? 아니면 다른분들도 그런건가요?
----------------------------------------------------------------------------------------------------------
저도 혹시나 해서 윈도우에 설치된 mysql에서 테스트 해 보았습니다.
윈도우에 설치된 mysql에서는 제대로 나옵니다.
그런데 linux에 설치한 mysql 에서는 이상하게 나옵니다.
혹시 운영체제의 문제인가요?
제대로 나오는 window는 xp 32bit에 mysql 버전 5.0.67-community-nt 이구요.
이상하게 나오는 linux는 Ubuntu 10.04.1 64bit 에 myql 5.0.45 입니다.
이렇게 나오는 이유를 추정이라도 해주시면 감사하겠습니다.
----------------------------------------------------------------------------------------------------------
여러곳에 설치된 리눅스 서버에서 테스트 해 보았습니다.
값이 다 이상하게 나오네요.
왜그럴까요? |