isNull(NULL +" and"," on") 在 PHP MSSQL 中返回 "and"

Posted

技术标签:

【中文标题】isNull(NULL +" and"," on") 在 PHP MSSQL 中返回 "and"【英文标题】:isNull(NULL +" and"," on") return " and" in PHP MSSQL 【发布时间】:2014-07-29 23:31:59 【问题描述】:

为什么'select isNull(NULL +" and"," on")'在sql server中返回"on"而在php mssql中返回" and"? 在 sql server 中直接执行查询时,它返回" on"

但是使用 PHP [mssql_quey] 它返回 " and"

我需要" on"

PHP v 5.3 
Xampp v3 
MS SQL Server 2008

不是:我试过COALESCE(NULL + ' and', ' on') ..同样的问题

【问题讨论】:

你的 php 代码在这里是相关的。编辑您的问题并添加它。 $query="select ISNULL(NULL+ 'and','no')"; $res=mssql_query($query); $data=mssql_fetch_row($res); var_dump($data);实际上mssql中有一个触发器,它具有ISNULL函数,从php执行它时显示“'and'附近的语法错误”,但使用asp.net或直接执行sql server执行正确 【参考方案1】:

您可能面临 NULL 值传递的问题。至少,它看起来像 asp.net 工作正常。

我建议你尝试用空值变量替换表达式,例如:

declare @test varchar(10); select isNull(@test + " and"," on")

【讨论】:

【参考方案2】:

试试这个 设置 CONCAT_NULL_YIELDS_NULL 开

【讨论】:

我发现这仅适用于特定表。您必须使用以下组合:SELECT PKCols = COALESCE(PKCols + 'and', 'on') 或 SELECT PKCols = COALESCE(PKCols + 'on', 'on') with SET CONCAT_NULL_YIELDS_NULL ON;设置与否

以上是关于isNull(NULL +" and"," on") 在 PHP MSSQL 中返回 "and"的主要内容,如果未能解决你的问题,请参考以下文章

Oracle 列上的 HQL“为空”和“!= null”

Django 查询:返回一个将转换为“AND (...)”的 Q 对象

如何使这个语句更快:“paramDate between startDate and NULL”?

Java JPA框架多条件查询如果条件中有null值或者""值时怎么自动屏蔽不and这个条件。

[TypeScript] Configuring TypeScript Which Files to Compile with "Files" and "OutDir&q

Caused by: org.apache.ibatis.ognl.OgnlException: source is null for getProperty(null, "mil_id&q