我正在使用 ODBC 驱动程序从 Informix DB 中提取数据,但日期过滤器(JMP 查询生成器)会引发错误。请参阅随附的屏幕截图。<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />任何建议表示赞赏。谢谢!
回复:我正在使用 ODBC 驱动程序从 Informix DB 中提取数据,但日期过滤器(JMP 查询生成器)会引发错误。请参阅随附的屏幕截图。伟大的!该 Informix 页面确实说 DBDATE 的默认值是“MDY4/”,因此如果“mm/dd/YYYY”格式有效,那么您的 Informix 安装显然使用 DBDATE 的默认值。
埃里克
回复:我正在使用 ODBC 驱动程序从 Informix DB 中提取数据,但日期过滤器(JMP 查询生成器)会引发错误。请参阅随附的屏幕截图。这行得通!谢谢PMroz。
回复:我正在使用 ODBC 驱动程序从 Informix DB 中提取数据,但日期过滤器(JMP 查询生成器)会引发错误。请参阅随附的屏幕截图。这工作埃里克,谢谢!mm/dd/YYYY 格式有效。PMroz 的解决方案也有效。
回复:我正在使用 ODBC 驱动程序从 Informix DB 中提取数据,但日期过滤器(JMP 查询生成器)会引发错误。请参阅随附的屏幕截图。我会通过使用来强制解决这个问题迄今为止.这样您就不必依赖于知道数据库中的默认日期掩码是什么。我手边没有 Informix,所以无法测试,但它来自互联网,所以它一定是真的
<SPAN class="pln" style="color: #303336;">迄今为止</SPAN><SPAN class="pun" style="color: #303336;">(</SPAN><SPAN class="str" style="color: #7d2727;"> '2013 年 12 月 12 日'</SPAN><SPAN class="pun" style="color: #303336;"> ,</SPAN><SPAN class="str" style="color: #7d2727;"> “%d/%m/%Y”</SPAN><SPAN class="pun" style="color: #303336;"> )</SPAN>
回复:我正在使用 ODBC 驱动程序从 Informix DB 中提取数据,但日期过滤器(JMP 查询生成器)会引发错误。请参阅随附的屏幕截图。好的,在研究这一点时,似乎 Informix 识别的日期文字格式受到 DBDATE 等 Informix 选项的影响。看这一页例如。 那篇文章建议可以在客户端设置 DBDATE,也许在 ODBC 驱动程序设置中。但是,看起来 Informix 喜欢的所有格式在日期部分之间都有分隔符。
这是我建议的解决方法:
按照最初的方式设置过滤器:

然后,使用过滤器中的红色小三角菜单将过滤器类型更改为“自定义表达式”:

这会将过滤器更改为只是一个输入字段:

然后,尝试将“20130216”(或任何您的日期)更改为“2013-02-16”,然后单击“自定义表达式”框外部以使其处理。看看你是否仍然得到错误。如果是这样,请尝试“2013/02/16”。如果做不到这一点,您可能需要询问 Informix 数据库的管理员您的 Informix 安装如何期望日期文字被格式化(也就是 DBDATE 有什么值)。另外,我目前没有安装 Informix ODBC 驱动程序,但您可以查看那里,看看是否有一种方法可以在驱动程序中配置 DBDATE,以便查询生成器使用的默认日期格式对您有用。
高温下,
埃里克
回复:我正在使用 ODBC 驱动程序从 Informix DB 中提取数据,但日期过滤器(JMP 查询生成器)会引发错误。请参阅随附的屏幕截图。谢谢埃里克。 查看创建的 SQL 的屏幕截图。我尝试使用像 MDY() 或 CAST 这样的日期时间函数,但查询生成器拒绝了它们并完全删除了过滤器,而且该工具也不允许我手动编辑 SQL。

回复:我正在使用 ODBC 驱动程序从 Informix DB 中提取数据,但日期过滤器(JMP 查询生成器)会引发错误。请参阅随附的屏幕截图。嘿,罗纳尔多乔亚,
您能否忽略错误消息,然后选择查询生成器底部中间部分的 SQL 选项卡并附上它的屏幕截图?
对于如何在 SQL 语句中将日期时间值表示为文字有一个 SQL 标准,但许多数据库供应商偏离了该标准。Query Builder 的 SQL 代码生成知道其中许多偏差,但不是全部,所以我怀疑 Query Builder 没有以 Informix 可以为您的 row_date 上的过滤器解释的方式格式化日期时间文字。
谢谢,
埃里克