www.ctrt.net > SQL:存储过程中的likE问题!

SQL:存储过程中的likE问题!

你拼接完了之后,将这个sql打印出来看看,或者将打印出来的sql语句放到客户端执行一下看看就知道哪里出了问题。。

语句应该是 SELECT 出版社,ISBN号,定价,作者姓名 FROM book_1,teacher WHERE book_1.编号=teacher.编号 AND 出版社LIKE '%'+@出版社+'%' '%@出版社%'这个写法表示包含 “@出版社” 文字的出版社而不是变量

like语句实际上就是模糊的字段查询,通常与“%”(一个或多个)结合使用。 举例说明: sql:SELECT * FROM tablename T WHERE T.name LIKE '%zhang%'; 解释:以上语句就就是查询出tablename表中name字段带有“zhang”的所有记录。 备注:存储过程中用"|...

ALTER PROCEDURE [dbo].[pro_Search_keys] @keys nvarchar(max) AS BEGIN SELECT* FROM text_Text where Title like ‘%’+@keys+‘%’ END

方法1:你可以给参数一定 默认值 create proc SelectAllProcess @xingming varchar(15)='', @chenghu varchar(15)='', @haoma varchar(15)='', @fenzu varchar(10)='' 。。。 exec SelectAllProcess @xingming=default, @chenghu= default, @haom...

转义一下就好了在sql中中的转义为单引号('),针对你的那个语句来说变成这样就可以了,如下: set @sql='select * from a where 姓名='‘张三’'' 我没有试过,你试下好了 补充:你也可以在你的开始定义个常量 declare @xm varchar(10) set @sql='s...

create proc up_user @userid char(20), @username char(20)as BEGIN select * from tb_user WHERE userid = CASE WHEN @userid '' THEN @userid ELSE userid ENDAND username = LIKE '%' + CASE WHEN @username '' THEN @username ELSE usernam...

取消前面的那个% 就好了 这个看你怎么分析了, %张% 代表 查询所有包括张的 字段 张% 代表查询 以张开头的所有字段 %张 代表所有以张结尾的字段 你的语句我建议你写成 select emp_name from emps where( emp_name like @张% or emp_name %@张 ) ...

将text替换成你要查找的内容 select name from sysobjects o, syscomments s where o.id = s.id and text like '%text%' and o.xtype = 'P' --将text替换成你要查找的内容 SELECT ROUTINE_NAME, ROUTINE_DEFINITION FROM INFORMATION_SCHEMA.ROU...

@Depart char 首先不要用char,除非你能明确确定字数 其次字符类型一定要标注长度 改为@Depart nvarchar(20)试试

网站地图

All rights reserved Powered by www.ctrt.net

copyright ©right 2010-2021。
www.ctrt.net内容来自网络,如有侵犯请联系客服。zhit325@qq.com