比如CREATE PROCEDURE [dbo].[SP_Test]
(
@Email_Type as nvarchar(20)
)
ASSELECT Email_Type, Email_Addr
FROM Tab_Email
WHERE (Email_Type = @Email_Type)GO因为@Email_Type的内容是中文,SQL语句不识别,所以查询结果为空。
怎么做到WHERE (Email_Type = N@Email_Type)的效果
(
@Email_Type as nvarchar(20)
)
ASSELECT Email_Type, Email_Addr
FROM Tab_Email
WHERE (Email_Type = @Email_Type)GO因为@Email_Type的内容是中文,SQL语句不识别,所以查询结果为空。
怎么做到WHERE (Email_Type = N@Email_Type)的效果
是不是你的参数长度或类型不对?或者用like试下
FROM Tab_Email
WHERE (Email_Type = @Email_Type)
=>
exec('SELECT Email_Type, Email_Addr
FROM Tab_Email
WHERE (Email_Type =N'''+@Email_Type+''')')?
WHERE (Email_Type = N'''' + @Email_Type + N'''')
你的方法不行,连@Email_Type是英文的也无法查询出结果to free_pop2k(每天进步一点点,日子就会好一点...)
不可否认proc的作用,但就我的这个问题,好像proc解决不了