gpt4 book ai didi

android - 如何比较 SQLite 中的小时和分钟?

转载 作者:搜寻专家 更新时间:2023-11-01 08:07:33 26 4
gpt4 key购买 nike

我有一个用户“工作时间”存储在 SQLite 中为 HH:MM在我的 Android 应用程序中。如果可能,我不想更改此数据的存储方式。那将是一场噩梦。我希望他们能够搜索时间为 = 的条目, < , 或 >另一个时间戳。

例如,使用我的应用程序,他们可以制作一个 WHERE子句如下:time(Hours) > time('5:51')其中 Hours是列名。但是,我似乎得不到任何结果,即使我知道有匹配的行也是如此。

我做错了什么吗?我没有得到任何异常,只是没有结果。

最佳答案

time 不接受持续时间,除非它们恰好也是有效时间。所以即使有人可以工作 40 小时:

SELECT (time('40:00') IS NULL);

给出 1(显示错误)。

SELECT (time('11:00') IS NULL);

为 0。但大概两者都需要工作。

幸运的是,如果您坚持使用两位数的小时和两位数的分钟,您可以将它们作为普通字符串进行比较。

SELECT '84:13' > '29:03';
1

SELECT '05:12' > '43:58';
0

编辑:更好的解决方案可能是将分钟数简单地存储为整数(SQLite base types 之一)。是的,您需要进行一次性升级转换,但我认为这是更好的选择。

你有完全的精度,你可以很容易地乘以(例如按小时费率),如果你想在某些报告中显示为 HH:MM,它是一个简单的模数。

关于android - 如何比较 SQLite 中的小时和分钟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13104513/

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