to_date与AS400

Oli*_*m67 2 sql db2 db2-400 to-date ibm-midrange

我写信给你是因为我不能to_date在AS400数据库上使用运算符.

使用Oracle数据库,我使用:

datefield >= to_date('01/01/2014','DD/MM/YYYY')
Run Code Online (Sandbox Code Playgroud)

但是使用AS400,我收到一个错误:

不兼容的运营商

我可以使用另一种功能来替换to_date吗?

Cha*_*les 5

假设datefield是实际日期数据类型

然后,您需要做的就是使用ISO格式的日期字符串

datefield >= '2014-01-01'
Run Code Online (Sandbox Code Playgroud)

DB2 for IBM i将始终将'2014-01-01'视为日期.

但如果你真的想自己明确地转换它,那么有两个功能

DATE('2014-01-01')
CAST('2014-01-01' as DATE)
Run Code Online (Sandbox Code Playgroud)

CAST是便携性的首选.

我建议坚持使用ISO格式,但系统会识别美国'mm/dd/yyyy'和''dd.mm.yyyy'.

参考这里:

http://www-01.ibm.com/support/knowledgecenter/ssw_ibm_i_71/db2/rbafzdtstrng.htm