Sql 如何在Oracle中插入具有相同时间戳的多条记录
我的问题有些不同 这里的人要求插入日期和时间,但我的问题是如何只插入日期DD-MM-YYYY?我不需要时间插入。由于毫秒的差异,我得到了异常。所以我想避免这种情况 sysdate,oracle中的当前时间关键字插入日期和时间Sql 如何在Oracle中插入具有相同时间戳的多条记录,sql,oracle,date,Sql,Oracle,Date,我的问题有些不同 这里的人要求插入日期和时间,但我的问题是如何只插入日期DD-MM-YYYY?我不需要时间插入。由于毫秒的差异,我得到了异常。所以我想避免这种情况 sysdate,oracle中的当前时间关键字插入日期和时间 要求就像我必须插入1000行,其中每行的时间戳(我不希望有一个毫秒差)应该是相同的 在Oracle中,使用时间为“00:00:00”的日期,例如:trunc(sysdate)。 没有仅日期类型(没有时间)。在Oracle中,使用带有时间“00:00:00”的日期,例如:tr
要求就像我必须插入1000行,其中每行的时间戳(我不希望有一个毫秒差)应该是相同的 在Oracle中,使用时间为“00:00:00”的日期,例如:
trunc(sysdate)
。
没有仅日期类型(没有时间)。在Oracle中,使用带有时间“00:00:00”的日期,例如:
trunc(sysdate)
。
没有仅日期类型(没有时间)。请尝试以下类型:
select to_date(sysdate,'DD/MM/YY') FROM DUAL
或:
试试这个:
select to_date(sysdate,'DD/MM/YY') FROM DUAL
或:
所以你只想插入很多具有相同时间戳的记录 首先,以下是不起作用的内容:
CREATE TABLE test_table (tstamp TIMESTAMP);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
SELECT tstamp FROM test_table;
TSTAMP
----------------------------
06-JUN-14 12.24.28.659493 PM
06-JUN-14 12.24.28.663258 PM
06-JUN-14 12.24.28.666936 PM
06-JUN-14 12.24.28.671949 PM
06-JUN-14 12.24.28.676808 PM
06-JUN-14 12.24.28.680507 PM
06-JUN-14 12.24.28.684501 PM
06-JUN-14 12.24.28.688620 PM
06-JUN-14 12.24.28.694491 PM
06-JUN-14 12.24.28.698288 PM
解决方案在PL/SQL块中执行插入操作。首先获取systimestamp
并将其存储在变量中,例如v\u right\u now
。然后,您可以使所有记录具有完全相同的日期/时间
DECLARE
v_right_now TIMESTAMP := systimestamp;
BEGIN
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
END;
/
SELECT tstamp FROM test_table;
TSTAMP
----------------------------
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
所以你只想插入很多具有相同时间戳的记录 首先,以下是不起作用的内容:
CREATE TABLE test_table (tstamp TIMESTAMP);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
INSERT INTO test_table VALUES (systimestamp);
SELECT tstamp FROM test_table;
TSTAMP
----------------------------
06-JUN-14 12.24.28.659493 PM
06-JUN-14 12.24.28.663258 PM
06-JUN-14 12.24.28.666936 PM
06-JUN-14 12.24.28.671949 PM
06-JUN-14 12.24.28.676808 PM
06-JUN-14 12.24.28.680507 PM
06-JUN-14 12.24.28.684501 PM
06-JUN-14 12.24.28.688620 PM
06-JUN-14 12.24.28.694491 PM
06-JUN-14 12.24.28.698288 PM
解决方案在PL/SQL块中执行插入操作。首先获取systimestamp
并将其存储在变量中,例如v\u right\u now
。然后,您可以使所有记录具有完全相同的日期/时间
DECLARE
v_right_now TIMESTAMP := systimestamp;
BEGIN
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
INSERT INTO test_table VALUES (v_right_now);
END;
/
SELECT tstamp FROM test_table;
TSTAMP
----------------------------
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
06-JUN-14 12.24.48.263444 PM
那你为什么要用MySQL来标记它呢?还需要知道MySQL…“你尝试了什么?”因为你的要求实际上是如何用相同的时间戳将多个记录插入Oracle,所以你可能应该将这个问题重新命名到这个程度(这样其他同样关注的用户也会发现这个问题)。那么为什么要用MySQL标记它呢?还需要知道MySQL…“你做了什么?”因为你的要求实际上是如何用相同的时间戳将多个记录插入到Oracle中,所以你可能应该将这个问题重新命名到这个程度(这样其他有同样顾虑的用户也会发现这个问题)。