我使用下面的脚本更改了我的列的排序规则,如msdn建议
ALTER TABLE dbo.myTable ALTER COLUMN NameTR
varchar(500) COLLATE SQL_Latin1_General_CP1254_CS_AS
当我查询查询时
SELECT * FROM sys.fn_helpcollations()
WHERE name LIKE 'SQL%' and description like '%turkish%';
它只返回2个选项,如下所示。所以他们中的任何一个都应该为我工作。
但是,当我将数据插入该列时,我可以看到ğ
已转换为g
,
ı
已转换为i
,依此类推......只有字母令人惊讶的是ç
当我通过查询验证我的列时,它看起来很好。那么为什么我可以正确地将数据插入到这个azure表中呢?
SELECT * FROM sys.columns WHERE name = 'nametr'
当我使用VS 2015 sql server explorer将值粘贴到列中时,它工作正常,但为什么它不能使用插入查询。我是否必须以某种方式整理插入查询?
答案 0 :(得分:1)
我终于找到了答案。 Insert语句应具有如下所示的N前缀,实际上在标题静态字符串下描述here。我希望这有助于其他人有同样的问题
INSERT INTO table VALUES(N'え', N'え'), ('え', 'え')