如何使用上一列中的值添加天数
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
但这不是选择上一列,而是将日期添加到已知值。
答案 0 :(得分:1)
您可以使用 test('Email check BehaviorSubject', () {
expectLater(userProfileEditBloc.email, emitsInOrder([
emits(anything), // current email if you want to check for that
emitsError('Enter a valid email'),\
// emitsDone // in case you also close the stream with the error
]));
userProfilEditBloc.changeEmail('testtest'); //Expected @
});
:
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;
函数(主要)在SQL Server中定义。 Oracle使用更符合标准的DATEADD()
算法。
答案 1 :(得分:0)
您无法访问INSERT中的另一列,因为它不包含任何内容
要添加7天
INSERT INTO rent VALUES (
TO_DATE('2011-02-11 16:00:00', 'YYYY-MM-DD HH24:MI:SS'),
TO_DATE('2011-02-11 16:00:00', 'YYYY-MM-DD HH24:MI:SS') + 7)
要添加7个月
INSERT INTO rent VALUES (
TO_DATE('2011-02-11 16:00:00', 'YYYY-MM-DD HH24:MI:SS'),
TO_DATE('2011-02-11 16:00:00', 'YYYY-MM-DD HH24:MI:SS') + interval '7' month)
如果您还想存储时间,则不应使用DATE作为列类型