首页 > 解决方案 > 如何在数据块中显示与某些字符串匹配的表

问题描述

使用

SHOW TABLES in mydatabase

给了我所有包含表的列表。像

+----------+-----------+----------+
| database | tableName  | comment |
+----------+------------+---------+
|    db1   |   table1   |   null  |
|    db1   |   table2   |   null  |  
|    db1   | table_trkw |   null  |         |

我只想获取包含特定字符串的表,例如“ trkw

使用时

SHOW TABLES in db1 WHERE tableName IN ('%trkw%');

或者

SHOW TABLES in db1 WHERE tableName LIKE '%trkw%';

我不断收到同样的错误:

Error in SQL statement: ParseException: mismatched input WHERE' expecting <EOF>

我只是不明白 WHERE 条件有什么问题。是因为 WHERE 条件不能在数据库上使用,而只能在其表上使用?

如何过滤包含“ trkw ”的表?

标签: sqlschemadatabricks

解决方案


试试这个:

SHOW TABLES FROM mydatabase LIKE '*trkw*'

推荐阅读