sqlite shell 中似乎有两种解析器,一种仅在双引号内解释转义序列,仅用于点命令("\n"
例如 for .separator
),另一种则不解释:
sq3> CREATE TABLE bhist (cmd varchar not null);
sq3> .mode csv
sq3> SELECT length('\n');
"length('\n')"
2
sq3> SELECT length("\n");
"length(""\n"")"
2
sq3>
sq3> .separator '\t'
sq3> .import .bash_history bhist
Error: multi-character column separators not allowed for import
sq3> .separator "\t" "\n"
sq3> .import .bash_history bhist
sq3> SELECT count(*) from bhist;
count(*)
3404
sq3>
请注意,只有最后一个 .separator(点命令中的双引号转义序列)似乎有效。我找不到这方面的文档。是什么赋予了?