gpt4 book ai didi

mysql - 对 Char 类型使用 Like 和 Concat

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

我有一个 MySQL 语句试图查找行的 ID (CHAR(36)) 是否在字符串中。

我的声明是:

select * from `options` 
where concat('%',`OptionID`,'%')
like '{\"4d519a3d-c99b-11e4-8eda-b8ca3a83b4c8\":\"62.50\"}';

但是这失败了并且不返回任何东西,而这

select * from `options` where
`OptionID`='4d519a3d-c99b-11e4-8eda-b8ca3a83b4c8';

工作并返回我的行。我认为这是因为 ID 字段是 CHAR 字段而不是 VARCHAR 字段所以我尝试了这个

select * from `options` where 
concat('%',cast(`OptionID` as char(38)) ,'%')
like '{\"4d519a3d-c99b-11e4-8eda-b8ca3a83b4c8\":\"62.50\"}';

但这仍然没有用,现在我迷路了。我想避免遍历 json 字符串并创建一组条件,例如

(`OptionID`={$JsonKey[0]} OR `OptionID`={$JsonKey[1]} OR ... )

因为这些 json 字符串可能会变得非常大,但如果因为性能原因这是最好的选择,或者我想做的事情不能以任何其他方式完成,那么我就那样做.

最佳答案

这个概念是可行的,但你是在倒退。您需要反转字段。

像这样:

select * 
from `options`
where '{\"4d519a3d-c99b-11e4-8eda-b8ca3a83b4c8\":\"62.50\"}'
like concat('%',`OptionID`,'%')

关于mysql - 对 Char 类型使用 Like 和 Concat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29040443/

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