oracle - 将 CSV 导入 SQL - 使用日期时间/时间戳
问题描述
我目前正在将 CSV(包含数千行)导入 SQL。到目前为止,我已经在 SQL 中创建了一个表并用列名填充它,以及与列名对应的数据类型(所有这些都对应于 csv 中的列)
在此 csv 文件中,其中一列以以下形式给出时间戳:2/3/2019 12:00:00 AM (MM/DD/YY HH:MM:SS) 我在 sql 中创建的相应列有一个 datatyoe如果时间戳(6)
我的下一步是右键单击我刚刚在 SQL 中创建的表并点击“导入数据”,然后执行将 csv 导入到 sql 的步骤,但是,时间戳没有正确导入。我知道这一点是因为 csv 中的所有时间戳都来自 2019 年 2 月 3 日,而在 SQL 中,它的范围从 20-MAR-02 7:00:05 PM(DD-MON-YY HH:MM:SS) 到 20- APR-02 7:00:00 PM(DD-MON-YY HH:MM:SS)
我不知道如何让格式从 csv(MM/DD/YY HH:MM:SS) 匹配到 SQL(DD-MON-YY HH:MM:SS)
任何帮助表示赞赏!谢谢!!
编辑:@Sean Lange:谢谢!当我尝试使用 datetime(6) 作为数据类型时,我收到一条错误消息,指出 00907:missing right parenthesis? 如果我只尝试日期时间,我会收到错误 00902:无效数据类型?有什么想法吗?
编辑#2:是的,我正在使用 oracle,抱歉,这些网站上的语言有时让我感到困惑,因为我还在学习。任何帮助仍然会很棒,具体一步一步进行
编辑#3:感谢您的帮助。再次抱歉我缺乏知识,我正在使用 oracle sql developer。错误地创建表格后,我输入了以下代码行:
更改表 table_name
更改列 column_name to_timestamp(yourFieldName, 'mm/dd/yyyy hh:mi:ss am');
但是,我收到了这个错误。
错误报告 - ORA-01735: 无效的 ALTER TABLE 选项 01735。00000 - “无效的 ALTER TABLE 选项”
我真的很感谢你们的帮助,再次感谢你们!
我还尝试在向导中更新 for enter image description here mat,但出现错误。附件是解释我做了什么的截图
我不认为图片工作,但错误说日期格式未被识别。
解决方案
您尚未指定用于连接 Oracle 数据库的客户端- TOAD?甲骨文 SQL 开发者?还有什么?...所以我不能给你具体的分步说明。
但是,您的基本问题是您需要将文本字符串转换为时间戳,为此您需要输入日期格式字符串。您的“导入数据”向导应该有一个步骤,用于 (a) 输入表达式或 (b) 输入日期格式。
您想要的日期格式字符串是'mm/dd/yyyy hh:mi:ss am'
(不区分大小写,如果您愿意,可以使用大写字母,或者使用 pm 代替 am)。
表达式是
to_timestamp(yourFieldName, 'mm/dd/yyyy hh:mi:ss am')
推荐阅读
- c# - How can i fix Application' 是 'System.Windows.Application' 和 'System.Windows.Forms.Application' 之间的模糊引用
- django - Django循环导入错误 - 如何调试它?
- json - 以角度从多个无线电组中获取值
- node.js - 使用nodejs无法在同一路由器下捕获邻居的POST请求
- amazon-web-services - 简单地使用 kubeconfig 上下文
- javascript - 未删除数组中的猫鼬验证系统元素
- c# - 如何验证 X509Certificate2 是否由另一个 X509Certificate2 公钥签名
- reactjs - ReactJS:表单提交后重定向而不刷新
- tf.data.dataset - tf.data.dataset.from_tensor_slices 用于 RNN 模型
- csound - 导出到 midi 文件时如何计算 Csound 中的 midi 时间?