gpt4 book ai didi

使用转换或转换(字符串到整数)时 MySQL 数据库错误

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

在 MySQL 中遇到以下错误。我也尝试过使用 convert 但没有成功。客户希望能够过滤客户 ID 类似于:BOB102、REB293、REC203 的数据。我几乎需要搜索大于 200 的客户编号,等等。

您的 SQL 语法有误;查看与您的 MySQL 服务器版本对应的手册,了解在第 6 行的“INTEGER)) > 0 )”附近使用的正确语法

SELECT `orders_jobs`.* 
FROM (`orders_jobs`)
INNER JOIN `orders_users` ON `orders_jobs`.`customer` = `orders_users`.`id`
WHERE `orders_jobs`.`active` = 1
AND `orders_users`.`active` = 1
AND ( CAST(orders_users.cust_number AS INTEGER)) > 0 )

现在这些可能并不总是 3 个字符串字符,也可能是 4 个,即:BKER2938

注意:正如 Edga 所提到的,我需要使用 UNSIGNED 而不是整数,但由于字符将全部转换为 0,是否可能有不同的方法?

数据示例(针对字段 cust_number):MTQ32499、BGM31620、RES42935、CAM31717、CRED31672(注意最后一个是4个字符,我相信它只有3或4个字符长)

我只需要返回 cust_number > 40000 的客户

最佳答案

你应该使用

CAST AS SIGNED

CAST AS UNSIGNED

更多信息 here

-- 编辑

作为解决方法,您可以使用 SUBSTRING如果最后 5 个字符总是数字

关于使用转换或转换(字符串到整数)时 MySQL 数据库错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14058115/

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