簡體   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