2013-12-18 2 views
1

나는 followng 문자열 $x='20.400'을 가지고 있으며이를 DBI를 사용하여 mysql의 부동 열로 업로드하려고합니다. 제가 DB에 DBI이 값을 업데이트 할 때 내가 여기 DBI를 사용하여 부동 소수점 숫자를 MySql에 업로드

내 쿼리 수있는 마지막 0을 유지할 수있는 방법을 20.4 모양 : 나는 손 update x set value='20.400'으로 업데이트 할 경우

my $sql='update x set value=?'; 
my $sth = $dbh->prepare($sql); 
$sth->execute($x); 

가치는 확인

작동 언급
+3

'20.400'과 '20.4'는 동일한 값을 나타내는 두 개의 서로 다른 표현이라는 것을 이해 하시겠습니까? 그리고 만약 그렇다면, MySQL이 선호하는 프리젠 테이션을 _value_ (FLOAT 칼럼에)를 저장하라고 말했을 때 어떻게 저장하겠습니까? – raina77ow

+0

'$ x = 20.400'을하면 어떻게됩니까? – TLP

+0

왜 의미없는 0을 저장 하시겠습니까? – user4035

답변

1

mysql 서버는 기본적으로 후행 0없이 부동 숫자를 저장합니다.

어떤 종류의 플로트를 사용하고 있습니까? Difference between float(2,2) and float() in mysql

float (m, d) 형식을 사용하지 않는 경우 mysql 클라이언트가 후미 0을 생성하지만 mysql이 숫자를 반올림한다는 것을 알아 두십시오!

그렇지 않으면 결과를 표시 할 때 펄 프로그램에서 float 및 sprintf를 사용하십시오.

관련 문제