我正在尝试从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_TIME
是Timestamp
列。我收到了这个错误:
SQL3104N导出实用程序开始将数据导出到文件“e:\ temp \ SPO_DPDN_DET.csv”。
SQL3015N处理期间发生SQL错误“-180”。
SQL0180N日期时间值的字符串表示形式的语法不正确。 SQLSTATE = 22007
SQL3105N导出实用程序已完成导出“0”行。
答案 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';