Regex SQLite-显示表名,以“结束”_1“;
我正在寻找一种方法来显示数据库中的表名,该数据库的表名以“\u 1”结尾 我尝试使用以下命令:Regex SQLite-显示表名,以“结束”_1“;,regex,sqlite,sql-like,Regex,Sqlite,Sql Like,我正在寻找一种方法来显示数据库中的表名,该数据库的表名以“\u 1”结尾 我尝试使用以下命令: .tables '%_1'; 不幸的是,在表达式匹配中使用了下划线符号,因此它返回了如下表: “125_1”、“125_11”、“125_21”。 在这个例子中,只有第一个是有趣的,我不会显示完整的结果,因为有数百个表。所以我试过这样的方法: .tables '%_1' ESCAPE '_'; 它给了我完全相同的结果。 如果您有解决下划线符号问题的方法,请发布。 请记住,我在regex中有数百个表
.tables '%_1';
不幸的是,在表达式匹配中使用了下划线符号,因此它返回了如下表:
“125_1”、“125_11”、“125_21”。在这个例子中,只有第一个是有趣的,我不会显示完整的结果,因为有数百个表。所以我试过这样的方法:
.tables '%_1' ESCAPE '_';
它给了我完全相同的结果。
如果您有解决下划线符号问题的方法,请发布。
请记住,我在regex中有数百个表的名称遵循此模式:“^\d+\d+$”这不是工作方式。要搜索下划线,必须使用转义字符转义下划线:
LIKE '%#_1' ESCAPE '#'
无论如何,.tables
不是SQL命令,它会忽略转义子句。要进行自己的搜索,您必须运行自己的查询:
SELECT name
FROM sqlite_master
WHERE type = 'table'
AND name LIKE '%#_1' ESCAPE '#';
那是一个可怕的桌子设计。你真的应该考虑重新设计整个事情。这可能是可怕的,但这是一个有效的方法,检查这篇文章:如果你有一个更好的想法,可以自由地发布它:原则表包含来自2个不同系列数字的数据。所以我只写了表名。你是怎么做到的?谢谢,太好了!现在,我想在一个命令中显示所有这些表的内容,我应该怎么做?要提问,请使用“提问”按钮。