模糊查找,一下是我查找时调用的存储过程,当我把Where后面的StudentName=@S_S_Name改成StudentName like @S_S_Name却还是不能实现模糊查找,为什么?
USE [DB_SMS]
GO
/****** 对象:  StoredProcedure [dbo].[ITemp01]    脚本日期: 12/04/2008 22:57:21 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROC [dbo].[ITemp01]
@S_S_ID nchar(14),
@S_S_Name nchar(8),
@S_S_Class nchar(20)
AS
select 学号=StudentID,姓名=StudentName,性别=StudenSex,年龄=StudentAge,生日=StudentBirthday,民族=StudentNation,籍贯=StudentPlace,政治面貌=StudentStatus,身份证号=StudentNumber,班级=StudentClass,学历=StudentKnowledge,学院=StudentCollege,系别=StudentDepartment,是否毕业=StudentGraduate,年级=StudentGrade,专业=StudentSpecialty,学制=StudentLengthOfSchooling,密码=StudentPassword 
from Student 
where StudentID=@S_S_ID or StudentName=@S_S_Name or StudentClass=@S_S_Class

解决方案 »

  1.   

    例子:
    declare @v varchar(1000)
    set @v='工'
    select * from position where name like '%'+@v+'%'
      

  2.   

    模糊查找要用like 
    ALTER PROC [dbo].[ITemp01] 
    @S_S_ID nchar(14), 
    @S_S_Name nchar(8), 
    @S_S_Class nchar(20) 
    AS 
    select 学号=StudentID,姓名=StudentName,性别=StudenSex,年龄=StudentAge,生日=StudentBirthday,民族=StudentNation,籍贯=StudentPlace,政治面貌=StudentStatus,身份证号=StudentNumber,班级=StudentClass,学历=StudentKnowledge,学院=StudentCollege,系别=StudentDepartment,是否毕业=StudentGraduate,年级=StudentGrade,专业=StudentSpecialty,学制=StudentLengthOfSchooling,密码=StudentPassword 
    from Student 
    where StudentID=@S_S_ID or StudentName like '%'+@S_S_Name+'%' or StudentClass=@S_S_Class
      

  3.   

    --try
    SET ANSI_NULLS ON 
    GO 
    SET QUOTED_IDENTIFIER ON 
    GO 
    ALTER PROC [dbo].[ITemp01] 
     @S_S_ID nvarchar(14),
     @S_S_Name nvarchar(8),
     @S_S_Class nvarchar(20)
    AS 
    exec( 'select 学号=StudentID,姓名=StudentName,性别=StudenSex,年龄=StudentAge,生日=StudentBirthday,民族=StudentNation,籍贯=StudentPlace,政治面貌=StudentStatus,身份证号=StudentNumber,班级=StudentClass,学历=StudentKnowledge,学院=StudentCollege,系别=StudentDepartment,是否毕业=StudentGraduate,年级=StudentGrade,专业=StudentSpecialty,学制=StudentLengthOfSchooling,密码=StudentPassword 
    from Student 
    where StudentID='''+@S_S_ID+''' or StudentName like''%'+@S_S_Name+'%'' or StudentClass='''+@S_S_Class+'''')