Выполнение SQL возвращает результаты, отличные от выполнения непосредственно в MS SQL Server Management Studio. - PullRequest
0 голосов
/ 25 февраля 2019

У меня полная путаница с SQL, поэтому, возможно, я что-то не так делаю.

Я пытался создать запрос, который будет отображать результаты нескольких SELECT.Код очень прост, но в целом он выглядит так:

с результатами в текстовой опции sql

select  MessageId from   NsDelivery..NudgeResponseDump (NOLOCK) where Pk_RowId = 28901649

output

0:1550774328341685 9d012f009d012f

без результатов в текстовой опции sql

    select  MessageId from   NsDelivery..NudgeResponseDump (NOLOCK) where Pk_RowId = 28901649

output

0:1550774328341685

Я не знаю, почему строкаво втором варианте данные отсутствуют, дайте мне правильное объяснение ...

1 Ответ

0 голосов
/ 25 февраля 2019

Я предполагаю, что между двумя частями строки есть нулевой символ (он же нулевой терминатор) (не NULL значение, а CHAR(0)).Этот символ вызывает обрезание строки в результатах в режиме сетки.Здесь есть некоторая информация .По сути, последняя часть строки есть, но в визуализации она обрезается из-за нулевого символа.Вы можете проверить это, приведя строку к VARBINARY, нулевой символ будет отображаться как 00.

...