gpt4 book ai didi

php - PHP 和 SSManagement Studio 中的 TSQL 执行结果不同

转载 作者:行者123 更新时间:2023-12-02 22:25:36 25 4
gpt4 key购买 nike

我正在从 PHP 和 SSManagement Studio 查询 MSSQL 过程,但结果不同??

此查询从表中获取以 tKey 开头的字段。存在两列 tKey1 和 tKey2

过程 sp_myProc

DECLARE @tKeys VARCHAR(100);

SELECT @tKeys = ISNULL(@tKeys + ',', '') + column_name
FROM testweberp.INFORMATION_SCHEMA.columns
WHERE table_name = myTable
AND LEFT(column_name, 4) = 'tKey'
ORDER BY ordinal_position;

SELECT @tKeys

当我从 SSMS exec sp_myProc 执行查询时,我得到了结果:tKey1,tKey2

当我从 php mssql_query("exec sp_myProc",$link) 执行查询时,我得到了结果:,tKey1,tKey2

是的,发送给php的结果多了一个逗号而且它不是由 php 生成的,因为如果不是 @tKeys,我返回 len(@tKeys),它在 SSMS 中是 1112 在 php 中?

最佳答案

好像SET CONCAT_NULL_YIELDS_NULL可能是罪魁祸首。

在我的一个数据库上使用类似的查询,SET CONCAT_NULL_YIELDS_NULL ON 没有前导逗号,SET CONCAT_NULL_YIELDS_NULL OFF 没有前导逗号。

请注意(来自 MSDN)

The setting of SET CONCAT_NULL_YIELDS_NULL is set at execute or run time and not at parse time.

关于php - PHP 和 SSManagement Studio 中的 TSQL 执行结果不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13009724/

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