更改日期列的格式

Change the format of date column

我有一个名为 purchaseDate 的列,类型为 DATE。我想以 YYYY-MM-DD 格式编写 returns purchaseDate 的查询。

我在使用 between 函数时遇到问题。这是我的代码

select *
from purchaseOrders
where purchaseDate between '20-09-18' and '20-10-18'

这是我期望得到的结果:

purchaseDate
------------
2018-09-20
2018-09-21
2018-09-22
2018-10-19
2018-10-20

我该怎么做?

尝试在查询中使用 stftime()

select *
from purchaseOrders
where purchaseDate between strftime(%s, '20-09-18') and strftime(%s, '20-10-18')

The syntax for the strftime function in SQLite is:

strftime(format, timestring [, modifier1, modifier2, ... modifier_n ])

这里还讨论了其他一些替代方案:

SQL Select between dates

您可以简单地这样做:

select CONVERT(varchar(10), purchaseDate, 120) AS 'Purchase Date'
from purchaseOrders
where purchaseDate
between '20-09-18' and '20-10-18';

更多信息:How to get a date in YYYY-MM-DD format from a TSQL datetime field?

编辑 2:

SQLite 要求日期为 YYYY-mm-dd 格式或此 post 中的其他可识别格式: SQL Select between dates

您可以简单地这样做:

select *
from purchaseOrders
where purchaseDate
between '2018-09-18' and '2018-10-18'