插入声明中的问号

时间:2008-11-12 20:56:10

标签: sql sql-server

我有一个看起来像这样的SQL查询:

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

是什么?在价值陈述中做什么?

编辑::结果在插入时发生了触发器和自定义数据类型的一些有趣的业务(我们有一些混乱的数据库。)在正常设置下,我已经适当地标记了答案。

2 个答案:

答案 0 :(得分:6)

冒着轻浮的风险......没什么......它放了一个我?进入现场......试试这个...

DECLARE @TestTable TABLE (test NVARCHAR(10))

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


SELECT * 
FROM  @TestTable

答案 1 :(得分:1)

当我读到这个问题时,我的想法是,N做了什么?

在Oracle中,字符串文字之前的N表示字符串应该以国家(即本地化)字符集编码,而不是数据库的默认字符集。

正如其他人所说,你正在插入字符串'我?'进入专栏。但是,它可以使用不同的字符集进行编码(尽管由于这些字符在标准ASCII范围内,结果可能会相同)。