使用sqlite3进行日期计算
我正在尝试计算日期之间的时间跨度。如果日期使用本机 sqlite3 格式“YYYY-dd-mm”进行格式化,我对此没有问题
如果日期格式不同,例如“dd-mm-YYYY”,我会如何执行此操作
我尝试了以下方法没有成功。
--选择两天之间的日期;如果日期时间字符串的格式为 YYYY-dd-mm,则此方法有效
SELECT julianday(date1) - julianday(date2) AS Span from myTable;
- 我尝试对 dd-mm-YYYY 格式的日期执行此操作,但它似乎不起作用 -- 好像无法指定日期格式。
SELECT julianday(strftime('%d-%m-%Y', date1)) - julianday(strftime('%d-%m-%Y', date2)) AS Span from myTable;
I'm trying to calculate TimeSpans between dates. I have no problem with this if the date is formatted using the native sqlite3 format 'YYYY-dd-mm'
How would I do this if the date is formatted differently, such as 'dd-mm-YYYY'
I've tried the following with no success.
--Select days between two days; this works if the datetime string is formated YYYY-dd-mm
SELECT julianday(date1) - julianday(date2) AS Span from myTable;
--I tried this for dates in the format of dd-mm-YYYY but it doens't seem to work
--It seems to be that a date format cannot be specified.
SELECT julianday(strftime('%d-%m-%Y', date1)) - julianday(strftime('%d-%m-%Y', date2)) AS Span from myTable;
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
由于您使用的是 System.Data.SQLite,我建议使用自定义函数。这将更易于使用并与 MS SQL Server 保持一致,使其他 .NET 开发人员更容易理解和维护。
Since you're using System.Data.SQLite I would recommend using a custom function. This will be easier to use and be consistent with MS SQL Server, making it clearer for other .NET developers to understand and maintain.