我需要使用. once ./sample_yyyy_mm. csv,在这里,我希望yyyy和mm是动态的,因此可以使用.选择一次"./样本1_"||选择字符串时间('% m','现在')||"--"||选择字符串时间('% Y','现在')-1||". csv格式";但这是行不通的。你能请帮助。
iecba09b1#
SQLite的SQL可以是(参见下文-1):-
-1
SELECT strftime('./sample1_%m_%Y.csv','now');
例如,结果应为**./样本1_02_2023.csv**
不清楚您使用**-1的期望是什么。如果按原样包含它,则其用途是尝试对字符串/文本值执行数学运算,该字符串值将被视为0,最终结果将是-1.0**如果显示您正在尝试获取上一年,则可以将上面的查询修改为:-
SELECT strftime('./sample1_%m_%Y.csv','now','-1 year');
例如,结果将是**./sample1_02_2022.csv**(显然基于运行查询的日期)。
year
years
day
days
month
months
关于
`select "./sample1_" || select strftime('%m','now') || "_" || select strftime('%Y','now') - 1 ||".csv";`
这有很多问题:
./sample1_
_
.csv
应用上述内容,您可以:-
`select './sample1_' || (select strftime('%m','now')) || '_' || (select strftime('%Y','now')) - 1 ||'.csv';`
但是结果将是**-1.0**(由于数学运算处理)。
如果没有-1(参见上文的重新修饰符),即select './sample1_' || (select strftime('%m','now')) || '_' || (select strftime('%Y','now')) ||'.csv';,结果将为**./sample1_02_2023.csv**
select './sample1_' || (select strftime('%m','now')) || '_' || (select strftime('%Y','now')) ||'.csv';
1条答案
按热度按时间iecba09b1#
SQLite的SQL可以是(参见下文
-1
):-例如,结果应为**./样本1_02_2023.csv**
不清楚您使用**
-1
的期望是什么。如果按原样包含它,则其用途是尝试对字符串/文本值执行数学运算,该字符串值将被视为0,最终结果将是-1.0**如果显示您正在尝试获取上一年,则可以将上面的查询修改为:-
例如,结果将是**./sample1_02_2022.csv**(显然基于运行查询的日期)。
year
也可以是years
,并且您可以使用其他修饰符,例如day
或days
、month
或months
。关于
这有很多问题:
./sample1_
、_
和.csv
)需要用单引号而不是双引号括起来,否则它们将被视为组件名称(例如表/列名称),这取决于它们出现的位置和SQLite解析器的预期。应用上述内容,您可以:-
但是结果将是**-1.0**(由于数学运算处理)。
如果没有
-1
(参见上文的重新修饰符),即select './sample1_' || (select strftime('%m','now')) || '_' || (select strftime('%Y','now')) ||'.csv';
,结果将为**./sample1_02_2023.csv**