[英]MySQL How to Select only columns where value contains string
我做了一些搜索,并从已经在stackexchange上发布的一个问题中回答,这是不可能的,但是我想问一下。 我不知道是否有可能形成SELECT查询来动态选择将在mysql SELECT语句结果中显示的列。 例:
假设我有此表的列名,人员,ID,电话号码,替代号码:
John | 79 | 800-499-0000 | 800-499-5555
我想形成一个SELECT语句,以便它仅将下拉字段“ 800-499”在字段中某处的列。 因此,理想情况下,MySQL的结果将是:
800-499-0000 | 800-499-5555
唯一的问题是,我认为无法动态选择列。
任何帮助或确认表示赞赏。
您可以尝试类似:
select * from
(select concat(case when col1 like '%800-499-0000%' then concat('col1: ',col1,';') end,
case when col2 like '%800-499-0000%' then concat('col2: ',col1,';') end,
...
case when coln like '%800-499-0000%' then concat('coln: ',coln,';') end)
as search_results
from my_table) sq
where search_results is not null
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.