Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何在Oracle中插入具有相同时间戳的多条记录_Sql_Oracle_Date - Fatal编程技术网

Sql 如何在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

我的问题有些不同

这里的人要求插入日期和时间,但我的问题是如何只插入日期DD-MM-YYYY?我不需要时间插入。由于毫秒的差异,我得到了异常。所以我想避免这种情况

sysdate,oracle中的当前时间关键字插入日期和时间


要求就像我必须插入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中,所以你可能应该将这个问题重新命名到这个程度(这样其他有同样顾虑的用户也会发现这个问题)。