sql - 如何在查询字符串中插入 nvarchar 值

标签 sql sql-server

我有一个查询字符串,它是

   var projectid = sqlConn.Query<int>("insert into project (name,customer_id, service_id,user_id) values (@name,@customerid,@serviceid,@userid);SELECT SCOPE_IDENTITY(); ", new { name = Name, customerid = Customer, serviceid = Service, userid = userId }).Single();

其中 name 是一个 nvarchar 字段。现在我知道我需要使用“N”字符,并且我尝试了以下操作
'N@name'
N'@name'

但它似乎不起作用。任何人都可以帮我解决这个问题吗?

最佳答案

您不需要使用 N变量前缀。

只有显式类型的字符串(字符串常量)才需要它,例如 insert into ... values(N'some text', ...)
如果您的 name变量包含 unicode 字符串 - 那么不需要特殊操作。

关于sql - 如何在查询字符串中插入 nvarchar 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41852769/

相关文章:

sql - 在exists 子句中使用count()

sql - 如何将此 SQL 转换为使用连接?

sql-server - 我如何遍历每个记录并查看是否缺少 3 个要求中的任何一个?

sql-server - 我可以在连接字符串中设置隔离级别吗?

sql - 为列名创建动态选择获取值 - 在 SQL Server 中

sql - TSQL - 案例 - 值在?

sql - UTC时间对应的本地时间

sql - Linq to SQL intellisense 不知道数据上下文对象中的表

sql-server - SQL Server Management Studio 2008 没有脚本表权限

sql - 如何获取日期的 id