在SQL Server中,我有一个表“一”为遵循通在存储过程中两个不同的中国话
ID NAME_TYPE NAME
1 老师 甲
2 医生 乙
3 厨师 丙
4 医生 丁
我创建了一个存储过程
CREATE PROCEDURE [dbo].[a_type]
@NTTYP nvarchar(20)
AS
SET NOCOUNT ON
BEGIN
SELECT *
FROM a
WHERE NAME_TYPE IN (@NTTYP)
END
我将传递一个字符串值(老师,医生)
到@NTTYP
到存储过程,和预期的结果我想是
ID NAME_TYPE NAME
1 老师 甲
2 医生 乙
4 医生 丁
但我面对的是字符串值传递给存储过程不能显示我想要的结果的问题,下面是我的存储过程结果表明
@return_value = [dbo].[a_type]
@NCTTYP = N'老师,医生'
我能做到这一点呢?
旁注:你应该** **不使用'sp_'前缀为您的存储过程。微软已经保留了这个前缀以供自己使用(参见*命名存储过程*)](http://msdn.microsoft.com/en-us/library/ms190669%28v=sql.105%29.aspx),以及你将来有可能冒着名字冲突的风险。 [这对你的存储过程性能也是不利的](http://www.sqlperformance.com/2012/10/t-sql-queries/sp_prefix)。最好只是简单地避免使用'sp_'并将其他内容用作前缀 - 或者根本没有前缀! –
你得到了什么结果?请在问题中添加一个实际结果的例子。 – Paolo