Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex SQLite-显示表名,以“结束”_1“;_Regex_Sqlite_Sql Like - Fatal编程技术网

Regex SQLite-显示表名,以“结束”_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中有数百个表

我正在寻找一种方法来显示数据库中的表名,该数据库的表名以“\u 1”结尾

我尝试使用以下命令:

.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个不同系列数字的数据。所以我只写了表名。你是怎么做到的?谢谢,太好了!现在,我想在一个命令中显示所有这些表的内容,我应该怎么做?要提问,请使用“提问”按钮。