gpt4 book ai didi

MySQL Query 似乎没有输出预期

转载 作者:行者123 更新时间:2023-11-29 00:30:49 27 4
gpt4 key购买 nike

谁能帮帮我。除非我错过了非常明显的东西,否则我完全被难住了。

当我在价格列中询问小于或等于 6 的所有内容,以及在分钟列中询问所有大于或等于 500 的内容时,此查询如何返回该行。

  1. 分钟是一个varchar
  2. 价格是一个整数

价格是一个整数

To put it briefly, what is going on here

CREATE TABLE `gg_Crates` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`price` int(11) NOT NULL,
`minutes` varchar(11) COLLATE utf8_unicode_ci NOT NULL,
`sms` varchar(11) COLLATE utf8_unicode_ci NOT NULL,
`data` varchar(11) COLLATE utf8_unicode_ci NOT NULL,
`url` varchar(100) COLLATE utf8_unicode_ci NOT NULL,
`bb` int(5) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci

最佳答案

你得到那一行是因为你在比较字符串。 "500">= "60" 为真,因为 ASCII 字符顺序。

您必须更改 minutes 列的类型或在过滤数据时解析值。例如。

SELECT *, CONVERT(minutes,UNSIGNED INTEGER) AS minutes_int
...
WHERE
...
AND `minutes_int` >= 600
...

也可以尝试直接将字符串值与整数值进行比较,例如。

AND `minutes` >= 600

通过删除逗号,但我建议您考虑更改列格式,如果可能的话,因为将分钟表示为 varchar(11) 是不正确的,并且还会占用很多没有理由的空间。

关于MySQL Query 似乎没有输出预期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16619340/

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