0

我通过 ODBC 连接到 OpenEdge DataServer(不是我们的产品,我们只是访问他们的数据库,我几乎没有任何信息,当然也没有来自另一方的帮助)。

无论如何,我只需要执行一个简单的 Select,添加几行,并且我需要等效于 IsNull 语句。

基本上我想执行

SELECT ISNULL(NULL,'test')

这会因语法错误而失败。我环顾了一些他们误导性地称为“文档”的东西,但只有对 SP_SQL_ISNULL 的引用,但我也无法让它工作。我适合 T-SQL,因此任何方向的指针都值得赞赏,即使它只是一个带有 TFM 链接的 RTFM :)

谢谢

4

2 回答 2

5

感谢 Catalin 和这个问题,我走上了正确的道路。我一直认为我需要一个特定于 OpenEdge 的函数,但实际上我只需要使用 ODBC SQL 语法。

得到什么

ISNULL(col,4) 

你可以用吗

COALESCE(col,4) 

其中“返回具有最高数据类型优先级的表达式的数据类型。如果所有表达式都不可为空,则结果类型为不可空。” MSDN

基本上,如果值为 null(因此不可转换),它将转换为 4。

于 2009-10-19T13:03:58.800 回答
2

我不是 100% 确定,但我认为 ODBC 驱动程序需要一个有效的 SQL 语句,而不是一个 DBMS 特定的 SQL 语句,就像你提供的那样。

于 2009-10-19T11:41:53.723 回答