【问题标题】:INSERT INTO SELECT FROM ACCESS TO ORACLE从访问 ORACLE 中插入选择
【发布时间】:2012-04-30 22:28:23
【问题描述】:

我在 Access 中有一个名为 TEST_DATE1 的表,其列 TEST_DATE 是一个字符串数据类型,记录看起来像 20080130。yyyymmdd

我在 Oracle 中有一个名为 TEST 的表,其列 TEST_DATE 是 DATE 数据类型,我希望记录看起来像 2008/01/30 yyyy/mm/dd。

我有两个表链接,当我通常在 Access 和 Oracle 之间更新表时,我通常会做一个

INSERT INTO TEST
SELECT *
FROM TEST_DATE1;

如何使用 INSERT INTO SELECT 将字符串转换为日期

我试过了

INSERT INTO TEST
(SELECT TO_DATE(TEST_DATE, 'yyyy/mm/dd'))
FROM TEST_DATE1;

谢谢!

【问题讨论】:

  • 当你说你已经“尝试”了这个 sql,你收到了什么结果或错误?
  • 但是您在 test_date1 中的格式是 'YYYMMDD',对吗? (减去斜线)。听起来您正在尝试将两个单独的步骤结合起来。您要做的第一件事是从旧格式转换。它将作为日期存储在 Oracle 中,您可以从该表中选择并在检索时获取您想要的格式。

标签: sql oracle ms-access


【解决方案1】:

要将记录移动到 Oracle,将字符串转换为日期:

INSERT INTO test (test_date)
SELECT TO_DATE(test_date, 'YYYYMMDD')
FROM test_date1

一旦它在 Oracle 中存储为日期,您就可以以任何您喜欢的格式检索它:

SELECT TO_CHAR(test_date, 'YYYY/MM/DD') as test_date
FROM test;

【讨论】:

  • 您的链接是如何定义的?您在什么环境中执行 SQL?
  • @user1307149 我假设您的数据库链接在 Oracle 中,而这正是您运行 SQL 的地方。由于我不是 Access 专家,除非您想从 Oracle 方面做,否则我无法真正帮助您。
  • 我的数据库链接是从 Access 到 Oracle,我正在 Access 中执行 sql 查询
  • 日期作为字符串存储在 Access 中,我正在尝试将它们移动到 oracle DATE 列。
  • 我知道了:插入测试 (TEST_DATE) SELECT CDate(Mid(TEST_DATE, 5,2) & "/" & Right(TEST_DATE, 2) & "/" & Left(TEST_DATE, 4 )) FROM TEST_DATE1;
猜你喜欢
  • 1970-01-01
  • 2022-06-16
  • 1970-01-01
  • 2012-07-11
  • 1970-01-01
  • 2012-09-24
  • 2011-04-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多