使用timestamp列导出DB2表过滤器SQL错误“-180”

时间:2017-07-24 09:38:31

标签: timestamp db2 export

我正在尝试从Timestamp列中添加了过滤器的表中导出数据,但是它返回时出现SQL错误“-180”SQLSTATE = 22007.

EXPORT TO "e:\temp\SPO_DPDN_DET.csv" OF DEL MODIFIED BY coldel, codepage=1208 MESSAGES "e:\temp\SPO_DPDN_DET.log"
select * from mcare.SPO_DPDN_DET001 where SP_CODE in('919097','919025') AND APPR_TIME BETWEEN '11.07.2017' and '24.07.2017';

APPR_TIMETimestamp列。我收到了这个错误:

  

SQL3104N导出实用程序开始将数据导出到文件“e:\ temp \ SPO_DPDN_DET.csv”。

     

SQL3015N处理期间发生SQL错误“-180”。

     

SQL0180N日期时间值的字符串表示形式的语法不正确。 SQLSTATE = 22007

     

SQL3105N导出实用程序已完成导出“0”行。

2 个答案:

答案 0 :(得分:2)

如果APPR_TIME的数据类型是“timestamp”,则使用有效的时间戳文字,否则如果数据类型为“date”,则使用有效的日期文字。

更容易使用ISO格式文字,时间戳文字的示例是'2017-07-11-00.00.00.000000',或者日期是'2017-07-11'(7月11日,即yyyy-mm- dd格式)。

答案 1 :(得分:1)

你们之间没有时间戳工作,就像你解释你一样,你也可以像这样转换成日期:

select * from mcare.SPO_DPDN_DET001 
where SP_CODE in ('919097','919025') 
AND date(APPR_TIME) BETWEEN '2017-07-11' and '2017-07-24';