Ian*_*non 2 sqlite casting date
我有一个包含整数year和month列的 SQLite 表。我希望能够将它们“转换”为某些查询的日期类型,但我发现的最简单的方法很长且不直观:
...
date(
cast(year as text) || "-" ||
substr('0' || cast(month as text), -2, 2) ||
"-01" -- day of the month is irrelevant
)
...
Run Code Online (Sandbox Code Playgroud)
有没有更清晰、更简洁、可重用的方法来做到这一点?
在这种情况下,我个人更喜欢使用 date() 函数,而不是 substr() 。
要获取带有年份和月份整数的日期:
select date(year ||'-01-01','+'||(month-1)||' month');
Run Code Online (Sandbox Code Playgroud)
要获取年、月、日整数的日期:
select date(year ||'-01-01','+'||(month-1)||' month','+'||(day-1)||' day');
Run Code Online (Sandbox Code Playgroud)