gpt4 book ai didi

mysql - 如何从 mysql 中的字符串中选择一个精确的子字符串而不是另一个?

转载 作者:行者123 更新时间:2023-11-29 22:09:35 24 4
gpt4 key购买 nike

我在 mysql 的属性中存储了以下条目:

BFA.AD

a:11:{i:0;s:6:"BFA.AD";i:1;s:11:"BFA.AD.COPY";i:2;s:6:"BFA.AE";i:3;s:6:"BFA.TC";i:4;s:6:"BFA.FA";i:5;s:6:"BFA.GC";i:6;s:6:"BFA.IL";i:7;s:6:"BFA.IN";i:8;s:6:"BFA.PH";i:9;s:6:"BFA.PR";i:10;s:6:"BFA.TR";}

BFA.AD.COPY

BFA.TR

我正在尝试编写一个符合以下条件的 case when 语句:当记录包含 BFA.AD 或恰好是 BFA.AD 时,则为 1,否则为 0。

因此,对于上面列出的 4 条记录,结果的顺序应该是 1、1、0 和 0。

我已经尝试过:

case when (select m.meta_value from `ccsadm_frm_item_metas` m where m.item_id = i.id and m.field_id = 1308) like '%BFA.AD%' then 1 else 0 end as 'BFA.AD', 

将 BFA.AD 和 BFA.AD.COPY 都标记为 1。我尝试使用正则表达式 ["]\bBFA.AD\b["],但这似乎并不在 MySQL 中工作。

最佳答案

case when (select m.meta_value 
from `ccsadm_frm_item_metas` m
where m.item_id = i.id
and m.field_id = 1308)
like 'BFA.AD' then 1 else 0
end as 'BFA_Type',

或者

case when (select m.meta_value 
from `ccsadm_frm_item_metas` m
where m.item_id = i.id
and m.field_id = 1308)
like 'BFA.AD' then 1 else 0
end as 'BFA.AD',
case when (select m.meta_value
from `ccsadm_frm_item_metas` m
where m.item_id = i.id
and m.field_id = 1308)
like 'BFA.AD.COPY' then 1 else 0
end as 'BFA.AD.COPY',

关于mysql - 如何从 mysql 中的字符串中选择一个精确的子字符串而不是另一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31814005/

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