【问题标题】:How to get the last date of the week in sqlite3?如何在 sqlite3 中获取一周的最后一天?
【发布时间】:2021-07-26 10:51:09
【问题描述】:

假设我有一个列,其值的格式为日期时间“2021-07-01 00:00:00.000”,我如何获取任何日期时间的一周中的最后一个日期(星期日),例如sqlite3?一周的最后一天是星期日。

因此,此日期的答案需要类似 2021-07-04 或 2021/07/04(删除时间部分),即 2021-07-01 日期所在周的星期日日期.

我知道如何在 sqlserver 中完成,但我不知道如何在 sqlite 中完成。

有人可以帮助我吗?如果您需要更多说明,请告诉我。

这是我在 sqlserver 上的尝试,但我需要在 sqlite 中得到相同的结果

SELECT
somedate,
CONVERT(VARCHAR(10),DATEADD(DAY, 7 - DATEPART(WEEKDAY, [somedate]), [somedate]),111) AS Last_Date_Of_Week
FROM table

显然我不能在 sqlite 中执行此操作,因为 sqlite 没有正式的日期时间类型。

【问题讨论】:

标签: sqlite datetime


【解决方案1】:

Sqlite date and time functions 将星期日视为一周中的第一天,并使用 weekday 修饰符将给定时间戳提前到一周中的给定日期(使用从 0 开始的索引)从周日开始)。所以:

sqlite> SELECT date('2021-07-01 00:00:00.000', 'weekday 0');
date('2021-07-01 00:00:00.000', 'weekday 0')
--------------------------------------------
2021-07-04

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 2011-11-17
    • 1970-01-01
    相关资源
    最近更新 更多