一、把字符串接直生成SQL字符串
     直接加单引号:SQLSTR='select * from table'
      转换成的SQL为:select * from table
二、把两边带有单引号的字符串生成SQL字符串(把一个常量转换成带单引号的字符串)
     把字符串两边加三个单引号:SQLSTR='SELECT * FROM TABLE WHERE NAME=' +'''张三'''
     转换成的SQL为:SELECT * FROM TABLE WHERE NAME='张三'
三、把一个变量转换成带单引号的SQL字符串
    把变量两边加四个单引号:SQLSTR='SELECT * FROM TABLE WHERE NAME='+''''+@NAME+''''
四、把一个变量的一边转换成带单引号的SQL字符串
    把不需要单引号的那边用二个引号,需要单引号的那边用四个单引号:
        DECLARE @SQLSTR VARCHAR(100)
        DECLARE @DATE VARCHAR(100)
 SET @DATE='2007-10-10'
 SET @SQLSTR='SELECT * FROM TABLE WHERE DATE='+''''+@DATE+''+'12:00'''
 PRINT @SQLSTR
    转换成的SQL语句为:SELECT * FROM TABLE WHERE DATE='2007-10-1012:00'

五、把常量的一边转换成带单引号的SQL字符串
    把不需要单引号的那边用一个单引号,需要那边用三个单引号:
 DECLARE @SQLSTR VARCHAR(100)
 DECLARE @Time VARCHAR(100)
 SET @Time='20:23:00'
 SET @SQLSTR='SELECT * FROM TABLE WHERE DATE='+'''2007-02-03'+''+@time+''''
 PRINT @SQLSTR
    转换成的SQL语句为:SELECT * FROM TABLE WHERE DATE='2007-02-03 20:23:00'

六、把常量一边转换成带单引号的且带%模糊查找
    把%加在靠近变量那边的第一个单引号后面:
        DECLARE @SQLSTR VARCHAR(100)
 DECLARE @NAME VARCHAR(100)
 SET @NAME='NAMEVALUE'
 SET @SQLSTR='SELECT * FROM TABLE WHERE NAME LIKE '+'''%'+@NAME+'%'''
 PRINT @SQLSTR
    转换成的SQL语句为:SELECT * FROM TABLE WHERE NAME LIKE '%NAMEVALUE%'

posted on 2007-02-03 17:04  (追风)  阅读(266)  评论(0)    收藏  举报