【发布时间】:2012-10-28 04:22:02
【问题描述】:
我有 SQL 数据表StudetnMaster 有FirstName nvarchar(100) 并包含数据输入古吉拉特语(Unicode 字符)
示例:
StudentId FirstName
1 ઘનશ્યામ
2 જીગર
现在我有以下搜索查询:
Select *
from StudetnMaster
where FirstName like N'" + textBox1.Text.Trim() + "%'
它工作正常,但在存储过程中我必须为FirstName 传递参数,如下所示:
ALTER PROCEDURE dbo.StoredProcedure1
@FirstName nvarchar(100)
AS
select *
from StudentNew
where FirstName like N@FirstName+'%'
但它会抛出一个错误说:
无效的列名 N@FirstName
如何在 SP 中使用 'N' 作为参数,因为不使用 N' Unicode 文本不可搜索?
对于上面提到的内联查询我得到了结果,但是对于存储过程我得到了错误,那么我们如何在 SP 中使用'N'?
在 SP 中搜索 unicode 字符还有其他解决方案吗?
谢谢
【问题讨论】:
-
无需添加
N。试试select * from StudentNew where FirstName like @FirstName+'%'
标签: c# sql-server sql-server-2005