CREATE PROCEDURE sp_queryzc
@columnname char(10), @key varchar(600),@datefirst varchar(60),@dateend varchar(60),@paixu varchar(30)
AS
exec('select * from 自产库全集
where ' + @columnname + 'like' +'''%'+ @key + '%'''
+ 'and 出版日期 between ' +''''+@datefirst+''''+' and ' + ''''+@dateend+'''')
GO我做的字段名也可以选,用了动态sql,但是老是出错,假设说我@key填写了199445,他就出现下面的错误:'%199445%' 附近有语法错误。到底是怎么回事啊,恳请帮助!!!!
@columnname char(10), @key varchar(600),@datefirst varchar(60),@dateend varchar(60),@paixu varchar(30)
AS
exec('select * from 自产库全集
where ' + @columnname + 'like' +'''%'+ @key + '%'''
+ 'and 出版日期 between ' +''''+@datefirst+''''+' and ' + ''''+@dateend+'''')
GO我做的字段名也可以选,用了动态sql,但是老是出错,假设说我@key填写了199445,他就出现下面的错误:'%199445%' 附近有语法错误。到底是怎么回事啊,恳请帮助!!!!
where ' + @columnname + ' like' +' ''%'+ RTRIM(@key) + '%'' '
+ 'and 出版日期 between ' +''''+RTRIM(@datefirst)+''''+' and ' + ''''+RTRIM(@dateend)+''''注意留空格(对SQL语句而言)和去空格(对某些字符串变量)。
where ' + @columnname + 'like '%'+ @key + '%' 'and 出版日期 between ''+@datefirst+'
' and ''+@dateend+'''
rtrim是去掉右边的空格
trim是去掉左边和右边的空格
那请问什么是去掉中间的空格啊?望答!!