现在的位置: 首页 > 综合 > 正文

sql server存储过程中解决单引号的问题

2012年04月24日 ⁄ 综合 ⁄ 共 497字 ⁄ 字号 评论关闭

 一:目的想在sql中插入''号,例如:select count(*)from user where name='tom'
       a)使用转义字符:select char(39)或select char(39)+''
                             查询的结果是:'
         例如:select char(39) + '44555'+ char(39)
                            查询的结果是:'4455'
      b) 使用特别的字符来替代:''''<====>''
         例如:  

ALTER PROCEDURE [dbo].[TEST]
@i_NAME   NVARCHAR(10)
as        
DECLARE @sql1   NVARCHAR(100);
BEGIN
    SET @sql1='SELECT * FROM USERS WHERE NAME='
    SET @sql1=@sql1+''''+@i_NAME+''''
    EXEC (@sql1)
END
执行后输出的sql语句是:
    'SELECT * FROM USERS WHERE NAME='tom'

抱歉!评论已关闭.