sql - 插入后 SQL 代码中的西里尔符号不正确

标签 sql sql-server database c#-4.0 collation

我使用 SQL Server 2005,我尝试存储西里尔字符,但我无法通过尝试运行 SQL Server 来使用 SQL 代码:

INSERT INTO Assembly VALUES('Македонски парлиамент број 1','','');

或者从 C# 中发生了同样的问题,但是从 SQL Server 中插入/更新列它工作正常并且存储正常。

列的数据类型是nvarchar

最佳答案

您必须在字符串前添加 N 前缀。

当您隐式声明一个字符串变量时,它默认被视为 varchar。添加前缀 N 表示后续字符串是 Unicode (nvarchar)。

 INSERT INTO Assembly VALUES(N'Македонски парлиамент број 1','','');

这里是一些读物:

http://databases.aspfaq.com/general/why-do-some-sql-strings-have-an-n-prefix.html

https://msdn.microsoft.com/en-IN/library/ms186939.aspx

What is the meaning of the prefix N in T-SQL statements?

关于sql - 插入后 SQL 代码中的西里尔符号不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16762021/

相关文章:

sql - 存储过程计算和性能改进

sql-server - 当更新的值不是太长时,我怎么能得到 "String or binary data would be truncated"?

c# - 如何更新 Gridview 中的记录

带条件的表之间的 SQL 连接

mysql - 如何: Sort user by values and theier new position in the table

c# - 将 SQL 查询更改为 LINQ、asp.net MVC

python - 使用必需的ForeignKey引用在Django(1.8)应用程序之间移动模型

mysql - MAMP 和 MyPHPAdmin 参数格式不正确

node.js - Mongodb插入函数语法

PHP数组mysql检索每条记录