【发布时间】:2017-11-17 12:27:22
【问题描述】:
实际上,我正在尝试使用 PreparedStatement 使用以下查询将数据动态插入 Teradata:
INSERT INTO TABLE(id,name,date) VALUES(?,?,?)
通过使用上述查询,无法将数据加载到 Teradata。 在这里,在上面的查询中,我试图动态地给出所有参数而不进行任何操作。 假设,如果我尝试操纵任何参数,我能够加载数据。
INSERT INTO TABLE(id,name,date) VALUES(?,?,cast(? as timestamp(0))
我不知道为什么会这样?
谁能帮我解决这个问题...
【问题讨论】:
-
当
date列具有DATE数据类型时,由于时间部分,转换将失败。当您将其转换为TIMESTAMP时,插入将简单地截断时间部分并成功。 -
虽然也不是日期字段,但如果三个参数都是动态的(?,?,?)不做任何操作,就无法插入数据
-
输入的数据是什么样子的?
-
假设我有 id,name,roll 作为preparedstatement的三个参数,i/p数据看起来像1,"Jai",205。而且我需要将所有这三个参数作为动态参数而不是硬编码
-
205如何表示时间戳或日期?