[英]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%'
%
表示通配符並返回任何包含98673
的column_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.