gpt4 book ai didi

.net - 如何转义冒号 ( :) character while executing native SQL queries against an Informix database using NHibernate?

转载 作者:行者123 更新时间:2023-12-04 05:53:01 28 4
gpt4 key购买 nike

我正在尝试对 Informix 数据库执行一组 native SQL 查询,使用 NHibernate 创建查询。但是,如果查询包含冒号(它们应该是保留字符),NHibernate 设置为更改查询,因此查询失败。这是 native SQL 查询的示例:

    CREATE PROCEDURE procedure_name()
...
SELECT FIRST id :: INTEGER INTO variable
...
END PROCEDURE;

在执行查询之前,NHibernate 会转换成这个,

    CREATE PROCEDURE procedure_name()
...
SELECT FIRST id ? INTEGER INTO variable
...
END PROCEDURE;

此时 Informix 会抛出一个 Invalid syntax错误。对该主题进行了一些讨论,但没有显示合理的响应或解决方法。

我想知道是否有办法转义为冒号字符(通过更改 NHibernate 中的设置或配置,或以不同方式执行查询)。我不介意更改 Informix 的查询,但是当尝试执行其他类型的带有冒号的查询时,它似乎最终会很麻烦。

欢迎任何想法或建议。谢谢!

最佳答案

我建议使用不使用冒号的强制转换符号:

SELECT FIRST CAST(id AS INTEGER) INTO variable;

处理 DATETIME 和 INTERVAL 文字会比这更难。

关于.net - 如何转义冒号 ( :) character while executing native SQL queries against an Informix database using NHibernate?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9845130/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com