如何解决SQLite 添加计算列
我在 sqlite 中有一个名为“Combined_Bike_Ride”的表,其中包含以下示例数据
开始时间 | end_at |
---|---|
27/05/2020 10:03 | 27/05/2020 10:16 |
25/05/2020 10:47 | 25/05/2020 11:05 |
我想在该表中添加一个新的计算列“ride_length”,其中ride_length = (ended_at) - (started_at)。
我使用了下面的 sql 代码,但在 AS 附近出现语法错误。
ALTER TABLE Combined_Bike_Ride ADD COLUMN ride_length AS (ended_at) - (started_at)
我是否缺少日期计算?非常感谢任何帮助。
解决方法
首先,您必须将日期格式更改为 when:
- executeapp1.rc == 0
,因为如果您想执行诸如计算时差之类的操作,这是唯一可以与 SQLite 的日期时间函数一起使用的文本日期格式。
为此,您可以使用函数 YYYY-MM-DD hh:mm
。
使用 strftime()
,您可以获得 strftime('%s',datetimecolumn)
和 1970-01-01 00:00:00
添加新列的正确语法是这样的:
datetimecolumn
如果您希望将新列存储在表中,您可以在语句末尾添加 ALTER TABLE Combined_Bike_Ride
ADD COLUMN ride_length
GENERATED ALWAYS AS ((strftime('%s',ended_at) - strftime('%s',started_at)) / 60)
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。