好的,因此我在搜索存储过程中获得了以下代码行:
SET @where = 'job_code = ''' + REPLACE(@job_code, '''', '''''') + ''''
我想简化的操作基本上有两个- 第一个是用单引号引起来的并置值。 显然,在上面的语句中,我'使用两个转义''符,然后使用a结束字符串,'以便可以连接实际值。一定有更好的方法!
'
''
第二个操作 是REPLACE(@job_code, '''', '''''')我转义该字段中可能存在的任何单引号的位置。
REPLACE(@job_code, '''', '''''')
整体上没有写这行代码的更优雅的方法吗?
我以为这是ESCAPE关键字,但是它与LIKE语句紧密相关,所以不要去那里了。
ESCAPE
LIKE
如果使用sp_executesql,则不确定如何执行sql查询,可能是这样的
EXECUTE sp_executesql N'SELECT * FROM YouTable WHERE job_code = @job_code', N'@job_code varchar(100)', @job_code = @job_code;