1.首先定义sql语句:
DELCARE @Sql as varchar(2000) --定义@Sql
要把其他的变量加入到@Sql中有两种方法
方法a: SET @Sql = 'SELECT...'+cost(@a as varchar(30))+'...' --sql中字符串只能用单引号,假设@a不为字符类型,需要用cost或convert函数将其转换成字符串型.
方法b: SET @Sql = 'SELECT.....@a......'
然后用SET @Sql = replace(@sql, '@a', @a) --用变量@a的值来替换在@Sql中@a的值,(如何@a为非字符型呢?这个我还没有试过)
2.执行@sql
exec(@sql) 或者 sp_executesql @sql
3.在生成@Sql时可以用判断语句 CASE WHEN CASE WHEN.... ELSE...END
CASE和WHEN之间放条件
DELCARE @Sql as varchar(2000) --定义@Sql
要把其他的变量加入到@Sql中有两种方法
方法a: SET @Sql = 'SELECT...'+cost(@a as varchar(30))+'...' --sql中字符串只能用单引号,假设@a不为字符类型,需要用cost或convert函数将其转换成字符串型.
方法b: SET @Sql = 'SELECT.....@a......'
然后用SET @Sql = replace(@sql, '@a', @a) --用变量@a的值来替换在@Sql中@a的值,(如何@a为非字符型呢?这个我还没有试过)
2.执行@sql
exec(@sql) 或者 sp_executesql @sql
3.在生成@Sql时可以用判断语句 CASE WHEN CASE WHEN.... ELSE...END
CASE和WHEN之间放条件