itsource

잘못된 DUBLE 값: DATATYPE 10진수(10,2)의 SUM()에서 " "이(가) 잘렸습니다.

mycopycode 2022. 9. 19. 23:40
반응형

잘못된 DUBLE 값: DATATYPE 10진수(10,2)의 SUM()에서 " "이(가) 잘렸습니다.

처음에 Warning | 1292 |잘려나간 잘못된 더블 값: " " 이 쿼리를 실행합니다.

SELECT DATE(Timestamp), COUNT(*), SUM(Amount) FROM remote_tickets WHERE DATE(Timestamp) = '2019-10-31' AND CCTransactionId != '';

단, 경고는 명령어를 발행할 때도 표시됩니다.

SELECT COUNT(*) FROM remote_tickets WHERE CCTransactionId != '';

대상외

SELECT COUNT(*) FROM remote_tickets;

스키마는

CREATE TABLE `remote_tickets` (
  `TicketId` int(11) NOT NULL,
  `DeviceId` int(11) NOT NULL,
  `Amount` decimal(10,2) NOT NULL,
  `CustomerCategoryName` varchar(100) NOT NULL,
  `PaymentType` varchar(6) NOT NULL,
  `CCTransactionId` int(11) DEFAULT NULL,
  `Timestamp` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

이 문제를 추적하려면 어떻게 해야 하나요?나쁜 데이터인가요?mysqlmonitor에서 경고를 받지만 PHPMyAdmin에서는 경고를 받지 않는다는 점을 언급할 필요가 있습니다.SHOW WARNINGS.

테이블은 다음을 정의합니다.CCTransactionId스트링과 비교하고 있습니다.'')의WHERE를 참조해 주세요.따라서 경고 메시지가 나타납니다.그 결과, 이 쿼리가 없는 경우,WHERE절은 경고를 발생시키지 않습니다.

다음과 같은 경우가 있습니다.

WHERE CCTransactionId IS NOT NULL

또는 다음과 같은 경우가 있습니다.

WHERE CCTransactionId != 0

언급URL : https://stackoverflow.com/questions/58720089/truncated-incorrect-double-value-from-sum-on-datatype-decimal10-2

반응형