gpt4 book ai didi

sqlite - SQLite strftime()工作日

转载 作者:行者123 更新时间:2023-12-03 17:57:20 30 4
gpt4 key购买 nike

我一直在尝试计算在特定工作日内创建了多少个值没有成功:

SELECT count(*) as count FROM packets WHERE strftime("%w", timeIn) = '1';


我在timeIn中有这个值

1472434822.60033
1472434829.12632
1472434962.34593


我不知道我在做什么错。

此外,如果我使用这个:

SELECT count(*) as count FROM packets WHERE strftime("%w", timeIn) = '6';


我懂了

2


这没有任何意义。先感谢您。

最佳答案

您似乎将日期存储为自1970年(Unix时期)以来的秒数(一种常见的表示形式)。 SQLite date functions接受的时间字符串(请参见“时间字符串”部分)默认将数字时间字符串解释为儒略日数字:


同样,格式12显示为10个有效数字,但日期/时间函数实际上将接受表示儒略日数字所需的任意多或少的数字。


您可以通过以下SELECT看到它:

SELECT strftime('%Y-%m-%d', 1472428800.6) AS t


结果是:

4026-48-26


为了将日期表示形式解释为Unix纪元,您需要在 'unixepoch'调用中包含 strftime

SELECT strftime('%Y-%m-%d', 1472428800.6, 'unixepoch') AS t


返回:

2016-08-29


如果将 SELECT修改为:

SELECT count(*) as count FROM packets WHERE strftime("%w", timeIn, 'unixepoch') = '6'


您应该看到更符合您期望的结果。

关于sqlite - SQLite strftime()工作日,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39197673/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com