SELECT row_number()OVER(ORDER BY FromLoc) RowIndex,* FROM @TaskTable WHERE 1=1 AND CASE WHEN @Loc<>'' THEN FromLoc WHEN @Loc='' THEN @Loc END =@Loc AND CASE WHEN @Sku<>'' THEN Sku WHEN @Sku='' THEN @Sku END =@Sku AND CASE WHEN @Batch<
1 普通sql语句可以用exec执行,如: SELECT * FROM video EXEC ('SELECT * FROM video') EXEC sp_executesql N'SELECT * FROM video' --字符串前一定要加N 2 字段名,表名,数据库名之类作为变量时,必须用动态sql DECLARE @fname NVARCHAR() SET @fname = 'Name' SELECT @fname FROM Video --以上结果为Name,并非所要 可以使用这样动
1.理清mybatis中的#和$之间的区别? #{ }:表示一个预处理参数,参数类型不定,是根据传入的参数类型来设定的. 类似于JDBC中的? 特例使用,模糊查询:(针对oracle): and username like concat(concat('%',#{username}),'%') 采取的$的方式传入参数,所有采取$的方式传入的参数都只是字符串(无论传入的是什么,都会当成字符串处理),潜在的危险就是SQL注入的问题. and username like '%${value}%' 注意