【发布时间】:2016-07-18 05:08:30
【问题描述】:
我想获取列名称为foo32 的表中的所有列。数字32 可以是任何数字。我有以下查询可以正常工作,除了它自然匹配不仅包含数字的列。
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'table1'
AND table_schema = 'database1'
AND column_name LIKE 'foo%'
不幸的是,上面的查询将匹配foo12abc 和fooCDE。
我根据此页面尝试了以下操作,但它返回了一个空结果,所以一定是错过了。
SELECT COLUMN_NAME
FROM INFORMATION_SCHEMA.COLUMNS
WHERE table_name = 'table1'
AND table_schema = 'database1'
AND column_name REGEXP 'foo[^0-9]'
示例表:
foo1 | foo21 | fooABC | foo123ABC | foo19 | col12
_________________________________________________
// data ...
我希望查询返回列 foo1、foo21 和 foo19
【问题讨论】: