【发布时间】:2016-09-29 01:47:15
【问题描述】:
简化示例 这是在存储过程中
select coalesce('(' + phone + ') ', '(' + number + ') '
from example_table
所以如果电话不为 NULL,我会返回(电话),否则我会返回(号码)。
原因是MSSQL被配置为CONCAT_NULL_YIELDS_NULL,基本上如果concat中有NULL一切都变成NULL了。
当我从客户端 (SQLPro) 运行它时,它按预期工作
当我从 PHP 代码中调用这个 SP 时,只有当 phone 的值为 NULL 时,我才会得到这个 () 括号,并且阅读它似乎 PHP 将 NULL 转换为空字符串。
有人知道解决这个问题的方法吗?也许 php.ini 中的配置会强制 PHP 将 NULL 值视为特殊值 NULL 而不是将它们转换为空字符串?
【问题讨论】:
标签: php sql sql-server sql-server-2008