DB2日期时间值的字符串表示形式的语法不正确

Chr*_*ris 2 db2 timestamp casting

我们有一个临时表,用于从供应商处加载原始数据.

一列用于捕获时间戳,但其数据类型为varchar(265).数据很脏:大约有40%的时间存在垃圾数据,否则就会出现像这样的时间戳数据

2011/11/15 20:58:48.041 
Run Code Online (Sandbox Code Playgroud)

我必须创建一个报告,过滤掉该列的某些日期/时间戳,但在我尝试投射它的地方,我收到一个错误:

db2 => select cast(loadedon as timestamp) from automation

1
--------------------------
SQL0180N  The syntax of the string representation of a datetime value is incorrect.  SQLSTATE=22007
Run Code Online (Sandbox Code Playgroud)

为解析/转换时间戳字符串,我需要做什么?

Gil*_*anc 15

DB2时间戳的字符串格式是:

'2002-10-20-12.00.00.000000'
Run Code Online (Sandbox Code Playgroud)

要么

'2002-10-20 12:00:00'
Run Code Online (Sandbox Code Playgroud)

您必须以这两种格式之一获取日期字符串.

DB2也运行24小时制,即使输出有时使用12小时制(AM/PM)

所以'2002-10-20 14:49:50'对于2:49:50 PM

或'2002-10-20 00:00:00'午夜.输出将是凌晨12:00:00