如何解决在 SQL 中加入表后,通过从当前日期中减去日期列来创建新列
我有两个已加入的表,我想在加入另一列的结果中添加。此列将是当前日期减去名为 start_date
的列日期的结果。我想将新列称为天数,因为差异以天为单位。
这是我加入的样子:
SELECT t.kind,t.start_date,t.user,t.user_email,t.completed,g.name
FROM d_trans AS t
JOIN d_gar AS g
ON t.rest_id = g.id
WHERE t.completed = false
AND t.kind = 'RESTING';
我的 sql 编码技能有限。我通常只在导入数据后使用 R。这在 R 中很简单,但我不确定如何在 sql 中执行此操作。我在网上查找了类似的问题,我看到诸如 ALTER TABLE ADD
添加新列和函数 GETDATE()
以获取当前日期,但我尝试的所有方法都不起作用。我在 AWS 的 Athena 工作,不知道我的问题是否是由于 Athena 的限制造成的。
解决方法
使用 date_diff('day',current_date,date_col) 函数:
SELECT t.kind,t.start_date,t.user,t.user_email,t.completed,g.name,date_diff('day',cast(t.start_date as timestamp),current_timestamp) as days
FROM d_trans AS t
JOIN d_gar AS g
ON t.rest_id = g.id
WHERE t.completed = false
AND t.kind = 'RESTING';
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。