我有一个看起来像这样的SQL查询:
INSERT INTO DB..incident
(
incident_number --nvarchar(10)
)
VALUES
(
N'I?'
)
是什么?在价值陈述中做什么?
编辑::结果在插入时发生了触发器和自定义数据类型的一些有趣的业务(我们有一些混乱的数据库。)在正常设置下,我已经适当地标记了答案。
答案 0 :(得分:6)
冒着轻浮的风险......没什么......它放了一个我?进入现场......试试这个...
DECLARE @TestTable TABLE (test NVARCHAR(10))
INSERT INTO @TestTable (
test
) VALUES (
N'I?' )
SELECT *
FROM @TestTable
答案 1 :(得分:1)
当我读到这个问题时,我的想法是,N做了什么?
在Oracle中,字符串文字之前的N表示字符串应该以国家(即本地化)字符集编码,而不是数据库的默认字符集。
正如其他人所说,你正在插入字符串'我?'进入专栏。但是,它可以使用不同的字符集进行编码(尽管由于这些字符在标准ASCII范围内,结果可能会相同)。