我对 SQL 很困惑,所以也许我做错了什么。
我试图构建一个查询,该查询将显示多个 SELECT 的结果。代码很简单,但大体上是这样的:
将结果放入 sql 文本选项
select MessageId from NsDelivery..NudgeResponseDump (NOLOCK) where Pk_RowId = 28901649
输出
0:1550774328341685 9d012f009d012f
没有结果进入 sql 文本选项
select MessageId from NsDelivery..NudgeResponseDump (NOLOCK) where Pk_RowId = 28901649
输出
0:1550774328341685
我不知道为什么第二个选项中缺少字符串数据请给我有效的解释......
最佳答案
我猜字符串的两部分之间有一个空字符(又名空终止符)(不是 NULL
值,而是 CHAR(0)
)。该字符导致字符串在网格模式的结果中被截断。有资料here .
本质上,字符串的最后一部分在那里,但在可视化中它由于空字符而被截断。您可以通过将字符串转换为 VARBINARY
来测试它,空字符将显示为 00
。
关于SQL 执行返回的结果与直接在 MS SQL Server Management Studio 中执行不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54860949/