問題描述:
不知是表結構的問題還是MYSQL自身的問題,查詢的結果集不正確。‘4.817536’這個數字一直無法查出來,如果更改此數值,結果集也是正確的。試過直接等于的情況‘4.817536’ MYSQL5.6是可以查詢出來 MYSQL8.0卻不行。
DDL:
CREATE TABLE `tbipm06` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`REC_CREATOR` varchar(20) NOT NULL DEFAULT '' COMMENT '記錄創建責任者',
`REC_CREATE_TIME` datetime NOT NULL COMMENT '記錄創建時刻',
`REC_REVISOR` varchar(20) DEFAULT '' COMMENT '記錄修改責任者',
`REC_REVISE_TIME` datetime DEFAULT NULL COMMENT '記錄修改時刻',
`MAT_GROUP_NO` varchar(64) NOT NULL COMMENT '物料編碼組',
`MAT_CODE` varchar(20) NOT NULL COMMENT '物料代碼',
`MAT_QTY` double(20,8) NOT NULL DEFAULT '0.00000000' COMMENT '物料數量',
`MAT_DESC` varchar(255) DEFAULT NULL COMMENT '物料備注',
`IN_MAT_QTY` double(20,8) NOT NULL COMMENT '匯入數量(默認MAT_QTY)',
`IN_MAT_UOM` varchar(10) NOT NULL COMMENT '匯入單位(默認物料編碼單位)',
`PROJECT_ID` int(11) DEFAULT NULL COMMENT '專案ID',
`ARCHIVE_SIGN` int(1) DEFAULT NULL COMMENT '歸檔標記(1, "不需進行歸檔作業" 2, "可歸檔" 3, "可洗掉" 9, "歸檔操作出錯")',
PRIMARY KEY (`ID`),
KEY `PROD_CODE` (`MAT_GROUP_NO`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=117380 DEFAULT CHARSET=utf8 ROW_FORMAT=COMPACT COMMENT='構件BOM表';
正確的資料:
-- sql
select MAT_CODE, MAT_QTY FROM tbipm06 WHERE MAT_GROUP_NO = 'ac23be5e0d3d45d89b4dd5b20adf74e3'
-- result
MAT_CODE MAT_QTY
3000402040 2.00000000
3000403011 2.00000000
3000403430 10.00000000
3000402002 0.40000000
3000402001 3.26800000
3000403013 2.00000000
3000201052 2.05337600
3000403527 2.00000000
3000201060 15.06328992
2000101001 0.53140000
3000201059 4.81753600
3000201058 13.76527000
3000201057 17.36089920
3000201056 23.05408160
錯誤的資料:
-- sql
select MAT_CODE,MAT_QTY FROM tbipm06 WHERE `MAT_QTY` in
( 2.0, 2.0, 10.0, 0.4, 3.268, 2.0, 2.053376, 2.0, 15.06328992, 0.5314, 4.817536, 13.76527, 17.3608992, 23.0540816)
AND MAT_GROUP_NO = 'ac23be5e0d3d45d89b4dd5b20adf74e3'
-- result
MAT_CODE MAT_QTY
3000402040 2.00000000
3000403011 2.00000000
3000403430 10.00000000
3000402002 0.40000000
3000402001 3.26800000
3000403013 2.00000000
3000201052 2.05337600
3000403527 2.00000000
3000201060 15.06328992
2000101001 0.53140000
3000201058 13.76527000
3000201057 17.36089920
3000201056 23.05408160
IN單個數值:
--sql
select MAT_CODE,MAT_QTY FROM tbipm06 WHERE `MAT_QTY` in (4.817536) AND MAT_GROUP_NO = 'ac23be5e0d3d45d89b4dd5b20adf74e3'
-- result
MAT_CODE MAT_QTY
3000201059 4.81753600
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/169984.html
標籤:MySQL
上一篇:有關專案管理——關鍵路徑法
下一篇:mysql 資料型別
