【问题标题】:How to add line breaks in a query (Informix)?如何在查询(Informix)中添加换行符?
【发布时间】:2011-01-20 15:47:53
【问题描述】:

我需要做一个查询,用换行符更新文本。我尝试使用\n,但它在字面上插入了“\n”。

例子:

update table set text = "first line\nsecond line"

我希望它将该文本显示为:

"first line
second line"

而不是"first line\nsecond line"

当我使用 .NET 执行此操作时,它可以工作,但不适用于存储过程。

有人知道怎么做吗?

【问题讨论】:

  • 我找不到与 Oracle 的 CHR 等效的 Informix 命令,因此您可以使用:CHR(10)CHR(13)

标签: sql stored-procedures informix


【解决方案1】:

您可能正在寻找函数“ifx_allow_newline”。

另外,根据 OMG Ponies 的建议,您可能正在从 IIUG 软件档案库中寻找包“ascii”。 Informix 现在内置了 ASCII()CHR() 函数。请注意,如果您有旧版本的 Informix(11.50 之前的版本 - CHR() 为 11.70 之前的版本),这些功能将不可用,您需要考虑 IIUG 存档中的包。

【讨论】:

  • @alk:链接到的版本 10 文档已在过去 7 年多的时间里移动。当前版本 (12.10) 位于:ifx_allow_newline。这也可能在 7 年后发生变化。
  • 哦,好吧,没看日期。请包涵。不管怎么说,还是要谢谢你! :-)
  • @alk:我已经用 Informix 12.10 文档的链接更新了这个答案。感谢您指出问题。还有 27 个要修复的答案……
【解决方案2】:

在 SP 中使用«换行»字符:

(...)
EXECUTE PROCEDURE IFX_ALLOW_NEWLINE('T');
SELECT FIRST 1
    REPLACE('Lets use a breakline here#and here#for example', '#', '
')
FROM systables;
(...)

【讨论】:

    【解决方案3】:
    SELECT 'Wibble' + CHAR(13) + CHAR(10) + 'Wobble'
    

    像 C# 中的 \r\n 一样放入回车和新行。如果文本要导出到任何地方的文档中,您可能需要两者,因为有时只是换行符 -\n char(10) - 出于一些我已经忘记/从未真正得到的非常沉闷的原因而显示为框字符:- )

    【讨论】:

    • 这很酷,但问题是我需要在存储过程上创建字符串,而不是在 .net 上
    • 这在 Informix 中不起作用; + 运算符不用于字符串连接。它可能适用于某些客户端软件。
    • Informix 中的字符串连接运算符是双管道:"||"
    猜你喜欢
    • 1970-01-01
    • 2011-08-09
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2014-04-16
    • 1970-01-01
    • 1970-01-01
    • 2019-03-10
    相关资源
    最近更新 更多