select * from adeclare @sqlcommand char(500)
select @sqlcommand='select * from a where content like N''%小李%''' --中文不好用
EXEC(@sqlcommand) aid content ams flag
1 小李 空 2
2 小王 空 1aid content ams flag
1 小李 空 2楼主,我的可以查到,奇怪
select @sqlcommand='select * from a where content like N''%小李%''' --中文不好用
EXEC(@sqlcommand) aid content ams flag
1 小李 空 2
2 小王 空 1aid content ams flag
1 小李 空 2楼主,我的可以查到,奇怪
as
begin
declare @sqlcommand char(500)
select @sqlcommand='select * from a where content like N''%小李%'''
EXEC(@sqlcommand)
end
exec pro_a不是存储过程的错啊
alter PROCEDURE test
( @fdwhere varchar(50))
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
declare @sql varchar(1000)
select @sql = 'select * from [tb_menu_list]' + @fdwhere
exec(@sql)
-- Insert statements for procedure here
END
GO
执行DECLARE @return_value intEXEC @return_value = [dbo].[test]
@fdwhere = 'where menuname like N''%用%'''SELECT 'Return Value' = @return_valueGO
DECLARE @return_value intEXEC @return_value = [dbo].[test]
@fdwhere = 'where menuurl like N''%as%'''GO
英文的就没有问题,不是like的问题,=也取不到记录,只有英文好用。OS:Win2K3 SQL2005EP
where 之前最好加个空格.
@fdwhere = 'where menuname like N''%用%'''SELECT 'Return Value' = @return_value上面,你想干什么啊?