2015-06-22 5 views
3

У меня есть значение базы данных, которое при вставке в переменную SQL отображается с вопросительным знаком в конце! не может найти причину ?!SQL varchar variable inserts question mark

declare @A varchar(50) = 'R2300529‏' 
select @A 

Результаты: R2300529?

любое объяснение? Я использую SQL server 2012.

ответ

7

Существует неузнаваемым символов в строке:

enter image description here

, что дает, что ?. Удалите значение и повторите, см. Мой скриншот выше.

+0

HTML-код источника: 'declare @A varchar (50) = 'R2300529 ‏'' – Stavr00

4

Это фактически символ справа налево в конце строки. Осмотрите эту страницу с помощью инструментов разработчика и посмотрите на свою строку, вы это увидите.

3

Я предполагаю, что вы скопировали это значение откуда-то. Либо это, либо вы делаете мозговой тизер здесь. Но копирование/вставка точного скрипта, который вы указали, показывает дополнительный символ: 0x3F, который является ? на основе преобразования Hex-ASCII.

Я бы рекомендовал просто перепечатать ваш скрипт, а не копировать/вставлять.