Вопросительный знак во вставке - PullRequest
1 голос
/ 12 ноября 2008

У меня есть запрос SQL, который выглядит следующим образом:

INSERT INTO DB..incident
( 
    incident_number        --nvarchar(10)
)
VALUES 
(
    N'I?'
)

Что значит? делать в отчете о стоимости?

РЕДАКТИРОВАТЬ :: Оказывается, что при вставке возникают какие-то забавные проблемы с использованием триггеров и пользовательских типов данных (у нас немного запутанная БД.) Учитывая нормальные настройки, я соответствующим образом отметил ответ.

Ответы [ 2 ]

6 голосов
/ 13 ноября 2008

С риском звучать легкомысленно ... Ничего ... Это ставит я? в поле ... Попробуйте это ...

DECLARE @TestTable TABLE (test NVARCHAR(10))

INSERT INTO @TestTable (
    test
) VALUES ( 
    N'I?' ) 


SELECT * 
FROM  @TestTable
1 голос
/ 13 ноября 2008

Когда я прочитал это, у меня возник вопрос: что делает N?

В Oracle N перед символьным строковым литералом указывает, что строка должна быть закодирована в национальном (т.е. локализованном) наборе символов, а не в наборе символов по умолчанию для базы данных.

Итак, как сказали другие, вы вставляете строку "Я?" в колонну. Однако он может быть закодирован с использованием другого набора символов (хотя, поскольку эти символы находятся в стандартном диапазоне ASCII, результат, вероятно, будет таким же).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...