MySQL에 decimal을 저장하는 방법은?
DECIAL을 (2,2)와 함께 사용해 보았지만 사용할 수 없습니다.
7.50이나 10.50 같은 숫자를 저장하고 싶습니다.십진수 뒤에 두 숫자를 모두 유지해야 하는데 데이터베이스를 새로 고치면 값이 0.99로 리셋됩니다.좋은 의견이라도 있나?
의 첫 매개 입니다.DECIMAL
declaration은 총 숫자입니다.당신은 아마도 당신이 사용하기를 원할 것입니다.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
'source' 카테고리의 다른 글
워드프레스:작성자 페이지에서 사용자 정의 분류법에 따라 포스트 카운트를 표시하는 방법 (0) | 2023.10.03 |
---|---|
일반 스왑 매크로를 C에 구현 (0) | 2023.10.03 |
UNIX 휴대용 원자 작동 (0) | 2023.09.28 |
많은 하위 디렉터리를 별도의 새로운 Git 저장소로 분리 (0) | 2023.09.28 |
PowerShell 오류 메시지에서 touch 명령으로 새 파일 만들기 (0) | 2023.09.28 |