gpt4 book ai didi

mysql - 如果使用 sum>100,小于 100 的总和仍然会显示

转载 作者:太空宇宙 更新时间:2023-11-03 11:36:13 24 4
gpt4 key购买 nike

我有一个包含一些数据的表格。其中许多数据的名称为 ICA Supermarket每个数据的总和不同。如果我使用以下 SQL 查询,它还会显示总和低于 100 的数据。如果我更改 >= '100',这也适用到更高的数字,例如 200。

SELECT *
FROM transactions
WHERE data_name LIKE '%ica%'
AND REPLACE(data_sum, '-', '') >= '100'

enter image description here

如果我改变 >=<=根本不会显示任何数据。表格如下所示:

CREATE TABLE IF NOT EXISTS `transactions` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`data_name` tinytext NOT NULL,
`data_sum` decimal(10,2) NOT NULL
UNIQUE KEY `id` (`id`)
)

是不是因为data_sumDECIMAL ?我怎样才能防止这种情况发生?我想用 DECIMAL求和:)

备注:data_sum还将包含大于负数的总和。

最佳答案

REPLACE(data_sum, '-', '') 返回一个字符串。 '100' 也是一个字符串。因此将使用字符串比较。你应该使用 ABS功能:

SELECT *
FROM transactions
WHERE data_name LIKE '%ica%'
AND ABS(data_sum) >= 100

关于mysql - 如果使用 sum>100,小于 100 的总和仍然会显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45863369/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com