source

MySQL에 decimal을 저장하는 방법은?

manycodes 2023. 10. 3. 11:05
반응형

MySQL에 decimal을 저장하는 방법은?

DECIAL을 (2,2)와 함께 사용해 보았지만 사용할 수 없습니다.

7.50이나 10.50 같은 숫자를 저장하고 싶습니다.십진수 뒤에 두 숫자를 모두 유지해야 하는데 데이터베이스를 새로 고치면 값이 0.99로 리셋됩니다.좋은 의견이라도 있나?

의 첫 매개 입니다.DECIMALdeclaration은 총 숫자입니다.당신은 아마도 당신이 사용하기를 원할 것입니다.DECIMAL (4, 2) 하면 에 두 , 에 두 이렇게 하면 소수점 앞에 두 자리, 뒤에 두 자리까지 가능합니다.

문서: https://dev.mysql.com/doc/refman/5.7/en/precision-math-decimal-characteristics.html

구문은 DECIAL(M,D)입니다.

M - 총길이

D - 소수점 오른쪽 자리

http://dev.mysql.com/doc/refman/5.6/en/fixed-point-types.html

DECIAL 열의 선언 구문은 DECIAL(M,D)입니다.MySQL 5.6의 인수 값 범위는 다음과 같습니다.

M은 최대 자릿수(정밀도)입니다.1 ~ 65 범위입니다. (이전 버전의 MySQL에서는 1 ~ 254 범위를 허용했습니다.)

D는 소수점(척도)의 오른쪽에 있는 자릿수입니다.0에서 30의 범위를 가지며 M보다 크면 안 됩니다.

CREATE TABLE IF NOT EXISTS `table_name` (`id` int(11) NOT NULL AUTO_INCREMENT,`cost` DECIMAL( 10, 2 ) NOT NULL);

이렇게 하면 비용 열은 소수점 앞 8자리와 뒤 2자리로 총 10자리가 유지됩니다.

CREATE TABLE `salary` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`salary` DECIMAL(10,2) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

DECIMAL(10,2)다를 나타냅니다.salary는 총 10자리의 숫자를 저장할 것이며 그 중 2자리는 소수점 뒤에 있을 것입니다.

예.

10진법 앞에 8자리, 10진법 뒤에 2자리.

mysql 문서에서:

DECIAL 열의 선언 구문은 DECIAL(M,D)입니다.인수의 값 범위는 다음과 같습니다.

  • M은 최대 자릿수(정밀도)입니다.1에서 65사이의 범위를 가지고 있습니다.
  • D는 소수점(척도)의 오른쪽에 있는 자릿수입니다.0에서 30의 범위를 가지며 M보다 크면 안 됩니다.

NB:- M은 소수점 이전의 자릿수 합계 + 소수점 이후의 자릿수 합계 합계입니다.

당신 같은 경우엔7.50총총 3의다를 사용합니다.10.50총 4자리의 숫자를 갖습니다.그러나 이 열의 선언된 최대 자리 수는 2이므로 최대 두 자리 수 값을 저장할 수 있습니다.1개는 1.00개, 총 3자리이기 때문에 저장할 수도 없습니다.대 2입니다..99.

xx.xx를 저장하려면 (4, 2)를 선언해야 합니다. 여기서 4는 M이고 2는 D입니다.

mysql의 최대 허용 크기로 숫자를 저장하려면 (65, 30)으로 열을 선언할 수 있습니다.

소수점 = M - D 앞자리의 최대 수

필드를 INT에서 FLOT로 변경

언급URL : https://stackoverflow.com/questions/16629759/how-to-store-decimal-in-mysql

반응형