sql server 中的一个小问题

来源:百度知道 编辑:UC知道 时间:2024/05/25 10:26:39
首先声明一个变量 declare @p char(100)
再对其赋值 set @p='ge'
在用like查询时候这样写:
where name like @p+'%'
这样会报错,请问应该怎样实现上述功能

2005的情况下可以正常运行
select * from a where xmmc like @a+'%'
如果不行
exec ('select * from a where xmmc like ''%'+@a+'%''')

declare @p varchar(100)
set @p='ge'
select * from 表名 where 字段名 like +@p+'%'

说一下,你那个定义的变量是char型
char型那就是整整100位了,后边用空格补位来着,char属于定长字符型,你该弄成varchar