【问题标题】:isNull(NULL +" and"," on") return " and" in PHP MSSQLisNull(NULL +" and"," on") 在 PHP MSSQL 中返回 "and"
【发布时间】: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执行正确

标签: php sql sql-server xampp


【解决方案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;设置与否
    猜你喜欢
    • 2014-07-06
    • 2016-02-13
    • 2014-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    相关资源
    最近更新 更多