是否可以将当前日期附加到文件名为sqlite?
我希望文件名类似于top\u querys\u June.csv。在sqlite中可以这样做吗 sqlite>.output(top_查询+选择日期('now')).csv 我运行这个批处理文件来创建一个包含顶级查询的文件 批处理文件: x、 sql: 上的是否可以将当前日期附加到文件名为sqlite?,sqlite,filenames,output,Sqlite,Filenames,Output,我希望文件名类似于top\u querys\u June.csv。在sqlite中可以这样做吗 sqlite>.output(top_查询+选择日期('now')).csv 我运行这个批处理文件来创建一个包含顶级查询的文件 批处理文件: x、 sql: 上的.headers .模式csv .output Top_查询+.csv 从查询中选择*; 退出 As@CL.已经指出sqlite3命令行实用程序不够灵活,无法做到这一点。您似乎正在使用某种shell来执行sqlite3。大多数shell都支持
.headers
.模式csv
.output Top_查询+.csv
从查询中选择*;
退出
As@CL.已经指出sqlite3命令行实用程序不够灵活,无法做到这一点。您似乎正在使用某种shell来执行sqlite3。大多数shell都支持一个名为“heredocument”的功能,sqlite3
实用程序支持从管道读取命令。使用这些工具,您可以将x.sql
文件内联到shell脚本中。在与POSIX兼容的shell中,您的代码可能如下所示:
DATE=`date -I`
sqlite3 mydb.db <<EOF
.headers ON
.mode csv
.output Top_Queries${DATE}.csv
select * from query;
EOF
DATE=`DATE-I`
sqlite3 mydb.dbsqlite3
工具是交互式的。只需使用.output top\u querys\u June.csv
@CL。为了澄清这一点,我正在编写一个脚本来自动生成文件。那么为什么不让该脚本自动生成文件名呢?(即,更改SQL参数的相同机制也应更改文件名。)@CL.我更新了问题“如何生成查询”
?
.headers ON
.mode csv
.output Top_Queries + <current month>.csv
select * from query;
.quit
DATE=`date -I`
sqlite3 mydb.db <<EOF
.headers ON
.mode csv
.output Top_Queries${DATE}.csv
select * from query;
EOF