繁体   English   中英

SELECT column_name 中的 MySQL Like 语句

[英]MySQL Like statement in SELECT column_name

我正在尝试从特定表中选择列名,其中表名类似于“98673”

所以我正在使用这个:

SELECT 
    column_name
FROM 
    information_schema.columns
WHERE 
    table_name='lime_survey_98673'
    AND column_name LIKE '98673'

但是,这不会产生任何数据。 虽然我的列名中确实有“98673Blah”。

我知道我一定做错了什么,但是什么?

对于 LIKE,您必须添加通配符 %,因此:

SELECT 
    column_name
FROM 
    information_schema.columns
WHERE 
    table_name='lime_survey_98673'
    AND column_name LIKE '98673%'

使用%

SELECT column_name
FROM information_schema.columns
WHERE table_name='lime_survey_98673'
AND column_name LIKE '%98673%'

%表示通配符并返回任何包含98673column_name

除非你AND column_name LIKE '98673'需要它或者:

SELECT column_name
FROM information_schema.columns
WHERE table_name LIKE '%lime_survey_98673%'
-- AND column_name LIKE '%98673%'  // only if needed

有关更多信息,请查看以下文档:

您需要添加%

SELECT 
    column_name
FROM 
    information_schema.columns
WHERE 
    table_name='lime_survey_98673'
    AND column_name LIKE '%98673%'

这意味着column_name包含98673

也可以这样做:

show columns from lime_survey_98673 like '%98673%';

我认为您还需要添加带有表名的通配符。

SELECT 
    column_name,
    table_name
FROM 
    information_schema.columns
WHERE
    schema_name = 'db_name' 
    AND table_name='%98673%'
    AND column_name LIKE '%98673%'

通过这种方式,您可以获得列名列出所有表,并且列名包含来自特定数据库或模式的“98673”等文本。

使用这个查询

SHOW COLUMNS FROM `table_name` LIKE 'coloums_name';

是的,一个工作感谢它。

动漫

SELECT 
    column_name
FROM 
    information_schema.columns
WHERE 
    table_name='lime_survey_98673'
    AND column_name LIKE '98673%'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM