sql - 如何使用上一列中的值插入日期
问题描述
如何使用上一列中的值添加天数
CREATE TABLE rent (
date of first rent DATE NOT NULL,
date of 2nd rent DATE NOT NULL,
);
INSERT INTO rent VALUES(
TO_DATE('2011-02-11 16:00:00', 'YYYY-MM-DD HH24:MI:SS'),
DATEADD(day,7,'2011-02-11 16:00:00')
);
我希望它记下第一次租金的2011-02-11 16:00:00
日期和第二次租金的日期2011-02-18
但这不是选择上一列,而只是将日期添加到已知值。
解决方案
您可以使用insert . . . select
:
INSERT INTO rent (date1, date2)
SELECT date1, date1 + interval '7' day
FROM (SELECT TO_DATE('2011-02-11 16:00:00', 'YYYY-MM-DD HH24:MI:SS') as date1
FROM dual
) x;
请注意,这列出了要插入的列。这是避免不必要的错误的最佳实践。
该DATEADD()
函数(主要)在 SQL Server 中定义。Oracle 使用更符合标准的INTERVAL
算法。
推荐阅读
- python - 如果调试退出,则执行 pytest 夹具拆卸
- javascript - 我如何根据相似的字段检查合并两个对象数组数据
- ruby - Ruby 中的字符串序列:克隆和复制
- android - 安卓设备中带有 M+number 问题的 DatePickerDialog
- azure - 为什么我在使用 eventhubs 时在 Azure 上收到此错误?
- sql - vba中的sql脚本
- python - plt.imshow() 只显示黑白图像
- javascript - 在 Next JS 中使用来自 `@mdx-js/react` 的 `MDXProvider` 时,MDX 博客仅显示降价内容而不是渲染它
- python - 给定一个图,我怎样才能得出节点的位置,以便图中的派系接近?
- python - 如何循环滚动/移动熊猫系列