2016-11-23 102 views
0

我将源数据用作MySQL数据库,并将表中的日期与Pentaho中的系统生成日期进行比较。无法比较Pentaho Kettle中的日期

我使用的查询象下面这样:对 'created_at'

Select * FROM trvs_consumer WHERE created_at > ? 

值是这样的:对于2016/07/28 00:00:00.000000000

价值 '?'从Pentaho的系统信息是这样的:1900/01/01 04:30:00.000

当我运行查询,我得到下面的错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?' at line 25 

但是,当我运行的查询,而无需在where子句中,它运行完美。有什么建议么 ?

+1

大概在Pentaho的到系统的连接是错误的。 – sagi

+0

@sagi,我查看了详细的日志,发现错误为: 您的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,在'?'附近使用正确的语法。在线25 任何想法? – Sarang

+0

你可以看看执行的SQL吗?我怀疑日期没有以正确的格式输出。 – sagi

回答

1

mysql require it开始,您必须使用正确的日期格式才能在mysql查询中使用。

使用选择值步骤,并指定正确的日期格式。这里是例子。在“获取系统日期”步骤中,我们生成新的随机日期。在'选择值'步骤中,我们为mysql分配正确的日期格式。然后我们可以在一些查询中使用这个新字段。 PDI不会自动识别数据库供应商的正确日期格式,我们必须手动处理。

enter image description here