问题标签 [informix]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - Oracle SQL - 解析名称字符串并将其转换为首字母和姓氏
有谁知道如何把这个字符串: "Smith, John R"
变成这个字符串: "jsmith" ?
我需要使用 lower() 将所有内容小写
查找逗号的位置并跟踪它的整数位置值
获取该逗号之后的第一个字符并将其放在字符串前面
然后获取整个姓氏并将其粘贴在第一个首字母之后。
旁注 - instr() 函数与我的版本不兼容
感谢您的帮助!
database - Informix 中的数据库别名
在 Informix 中,我可以运行使用其他数据库的 SQL 语句:
我想“联合”两个数据库,但我想“一步一步”做。
首先,我想将所有数据从 other_db 移动到主数据库,并为 other_db = main_database 设置别名。这样我就有时间从所有语句中删除“other_db:”。
如何设置数据库别名?
jdbc - Informix JDBC 时间戳字符串格式
我有 Informix 数据库,其时间戳字段定义为 YEAR TO SECOND。当我使用 JDBC rs.getString(column) 显示该字段时,它使用毫秒格式,因此该字段如下所示:
我希望它只使用 YEAR TO SECOND 字段。我设置环境变量:
但即使那样我也有几毫秒。使用 ODBC 的程序不显示毫秒。如何仅接收 TIMESTAMP 字符串“YEAR TO SECOND”?在我的程序中,如果字段是 TIMESTAMP,我可以检查元数据,然后剪切“.0”,但我认为应该有更简单的方法。
服务器版本:IBM Informix 动态服务器版本 11.50.TC2DE
客户端版本:IBM Informix JDBC Driver for IBM Informix Dynamic Server 3.50.JC3DE
编辑 如果我使用 getString(),我测试的所有其他 JDBC 驱动程序(Oracle 和 PostgreSQL)看起来都以毫秒为单位显示时间戳列。所以我使用了托德提出的解决方案。我检查元数据,如果列是时间戳,那么我使用 getTimestamp() 并对其进行格式化。
informix - informix 是否具有等效的“物化视图”或 DB 表同步
问题: Informix 是否具有与 Oracle 的“物化视图”等效的构造,或者是否有更好的方法来同步跨数据库链接的两个表(不是数据库)?我可以自己写一个同步(被要求),但这似乎是在重新发明轮子。
背景:最近我们不得不拆分(DB 的一部分一个服务器,另一部分在另一台服务器上)一个整体 Informix 9.30 DB(Valent 的 MPM),因为 AppServer 和 DB 服务器的组合无法再处理负载。
在这样做时,我们必须拆分一个用户定义的表空间(KPI 存储库),该表空间以巨大的事实表和明确定义的维度表的星形模式排列。
不幸的是,一位电信公司经理决定将维度表(标准化、无数据冗余、无需编码)集中在一台机器上,从而使它们作为另一台机器上的 DB-link 的视图可用。这既慢又不稳定,因为如果视图用于子查询(可演示),它时不时会导致数据库服务器崩溃,在产品服务器上非常不酷
sql - SQL nvl 等效 - 没有 if/case 语句 & isnull & coalesce
SQL 中是否有任何 nvl() 等效函数?
或者在某些情况下可以以相同方式使用的足够接近的东西?
更新:
没有 if 语句
没有 case 语句
没有 isnull
没有合并
sql - 从 Informix Stored Proc 返回的数据源
我有一个 Informix 存储过程,它返回两列和多行。我可以很好地使用“EXECUTE FUNCTION curr_sess(2009,'SP')”,但是如何将结果放入临时表中。
编辑:我们在版本 10.00.HC5
测试 Jonathan Leffler 的想法并没有奏效。
工作正常。然后我做了
但是当我尝试
它不起作用,我收到“SPL 例程中的非法 SQL 语句”。错误。
curr_sess 的来源
编辑: sess_sort() 进行查找。
我试图将函数重写为一个查询。这是 next_sess:
IBM 的某个人给我发了电子邮件,并建议使用这样的东西:
但这仍然没有奏效。
odbc - 如何使用 ODBC 从 Informix 中的 varchar 列中获取尾随空格
我无法从 Informix 数据库中的 varchar 列中获取尾随空格。
我创建了测试表,用一些尾随空格填充了它,但是它们没有被 SELECT 返回,而它们似乎存储在数据库中。
我得到了字段:
我测试的其他数据库:Oracle 和 PostgreSQL 返回带有尾随空格的 varchar 字段。我尝试了 RPAD() 但没有成功。有没有办法得到尾随空格?
服务器:IBM Informix 动态服务器版本 11.50.TC2DE
客户端:使用 ISA(HTML 页面源代码中没有空格)和 ODBC 驱动程序 3.50.TC3DE 进行测试
编辑 简单的 Python 测试程序(在 Windows 上使用 ActivePytnon 2.6 进行测试,您必须在最后几行更改连接字符串)
和结果:
Jython 中使用 JDBC 的类似程序:
- 与本机 JDBC 驱动程序一起工作(不修剪尾随空格)
- 对 JDBC-ODBC 桥不起作用(修剪尾随空格c)
资源:
结果(仅适用于 Informix):
jdbc - 使用 JDBC 和 ODBC 将 TEXT 列插入 Informix 数据库的一致方法
当我尝试通过 JDBC 向 Informix TEXT 列插入一些数据时出现问题。在 ODBC 中,我可以像这样简单地运行 SQL:
但这在 JDBC 中不起作用,我得到了错误:
我搜索了这样的问题,发现了 2003 年的消息:
我将代码更改为使用 PreparedStatement。现在它适用于 JDBC,但在 ODBC 中,当我尝试使用 PreparedStatement 时出现错误:
测试表是通过以下方式创建的:
用于测试两个驱动程序的 Jython 代码:
JDBC 或 ODBC 中是否有任何设置为两个驱动程序提供一个版本的代码?
版本信息:
- 服务器:IBM Informix 动态服务器版本 11.50.TC2DE
- 客户:
- ODBC 驱动程序 3.50.TC3DE
- 适用于 IBM Informix Dynamic Server 3.50.JC3DE 的 IBM Informix JDBC 驱动程序
sql - 分析查询
我正在寻找可以转换表中以下信息的单个查询
到这样的事情(给定时间范围 10 AM 到 10:15 AM 作为查询时段)
这只能使用 SQL 来完成吗?我正在使用 Informix 11.5 版
sql - Informix 中的 group_concat
在 Informix 的 SQL 中查找将模拟 MySQLgroup_concat
功能的查询。
MySQLgroup_concat
所做的是创建组中所有成员的枚举。
所以数据如下:
和以下查询:
会产生:
在 Informix 中实现这一目标的最有效方法是什么?我们一定要使用存储过程吗?