SQLite - 按" _1"显示表格名称

时间:2018-01-16 09:59:14

标签: regex sqlite sql-like

我正在寻找一种方法来显示我在数据库中的表名,其名称以" _1"结尾。

我尝试使用命令:

.tables '%_1';

不幸的是,下划线符号用于表达式匹配,因此它返回了表格,例如: " 125_1"" 125_11"" 125_21&#34 ;.
在这个例子中只有第一个有趣,我不会显示完整的结果,因为有数百个表。所以我试过这样的事情:

.tables '%_1' ESCAPE '_';

它给了我完全相同的结果。 如果您有解决方案来克服下划线符号的问题,请发布它。 请记住,我在正则表达式中有数百个名称遵循此模式的表:" ^ \ d + _ \ d + $"

1 个答案:

答案 0 :(得分:1)

这不是ESCAPE clause的工作原理。要搜索下划线,必须使用转义字符转义下划线:

LIKE '%#_1' ESCAPE '#'

无论如何,.tables不是SQL命令而忽略了ESCAPE子句。要进行自己的搜索,您必须运行自己的查询:

SELECT name
FROM sqlite_master
WHERE type = 'table'
  AND name LIKE '%#_1' ESCAPE '#';