在sql中怎样插入“' ”?

解决方案 »

  1.   

    declare @a table(code varchar(10))
    insert into @a select 'aaa''bbb'select * from @a
      

  2.   

    用一对单引号"''"表示一个待insert的单引号。
      

  3.   

    insert into TableName(aa)values('''')
      

  4.   

    用一对单引号"''"表示一个待insert的单引号。
      

  5.   

    sql语法规定两个单引号算一个
      

  6.   

    CREATE TABLE #T
    (
    NAME VARCHAR(20))INSERT INTO #T
    VALUES('''ZHANG''')
    SELECT * FROM #T
    NAME                 
    -------------------- 
    ZHANG
    "ZHANG"
    'ZHANG
    'ZHANG'(所影响的行数为 4 行)
      

  7.   

    严重同意cradeve() 的做法,用char(39)来代替'
      

  8.   

    严重同意cradeve() 的做法,用char(39)来代替'
      

  9.   

    select * from mytable 
      where f1 like 'TEST_%'这里我不希望_表示“任一字符”,而就是下划线。
    这个倒是比较麻烦一些。
    呵呵
      

  10.   

    我觉得可以用ASC码,取出来的时候再转换一下
      

  11.   

    select * from mytable 
      where f1 like 'TEST_%'这里我不希望_表示“任一字符”,而就是下划线。
    这个倒是比较麻烦一些。
    呵呵这个不麻烦
      

  12.   

    insert table values('''''),
    这样就是一个‘
      

  13.   

    select * from mytable 
      where f1 like 'TEST[_]%'or
    select * from mytable 
      where f1 like 'TESTa_%' escape 'a'
      

  14.   

    declare @ss varchar(1)
    set @ss='''''
    insert into tablename values(@ss)
      

  15.   

    ‘+两个单引号算一个+’
      如 select ''''    即:  ' 一个单引号
         select ''''''  即:  '' 两个单引号
      

  16.   

    最简单的方法用 replace(@tsql,'$','''')方法把传入的'替换为其他符号  例如这个存储过程
    /* QQ312430633 */
    CREATE PROCEDURE  [dbo].[les_AllowPaging] 
    @pageindex int,
    @PageSize int,
    @tsql varchar(4000)
    asDeclare @AllowPagingSql  varchar(4000)
    set @AllowPagingSql=
    'select *  from 
    (
    SELECT ROW_NUMBER() OVER(ORDER BY orderbyID DESC) AS AllowPagingId, * FROM  ( select *, 1 as orderbyID from ( '+@tsql +' )  as  tbs1 ) 
      as Tabl1 
    ) as table2 
    where AllowPagingId between '
    +convert(varchar(10),((@pageindex-1) * @PageSize+1))+' and '
    +convert(varchar(10), @pageindex * @PageSize)
    set @AllowPagingSql= replace( @AllowPagingSql,'$','''')
    exec (@AllowPagingSql)set @AllowPagingSql='select 
    case 
         when count(*)%'+convert(varchar(10),@PageSize)+'=0 then count(*)/'+convert(varchar(10),@PageSize)+'
         when count(*)%'+convert(varchar(10),@PageSize)+'<>0 then count(*)/'+convert(varchar(10),@PageSize)+'+1
    end as pageCount,count(*) as RowsCount from ('+replace(@tsql,'$','''')+') as tab1'
    exec (@AllowPagingSql)
    /*  
    exec [les_AllowPaging] 15,100,' select * from sys.sysobjects '
    exec [les_AllowPaging] 15,100,' select  top 100 percent  * from sys.sysobjects  order by id' 
    ORDER BY 需要 percent
    传入语句中存在分号需要先把传入语句格式化.
    C# 例 
    string SqlStr = " select  *  from sys.sysobjects where name like ''";
    SqlStr=SqlStr.Replace("'", "$");
    */
      

  17.   

    没有调查就没有发言权
    用''''可以输入'
    但是用char(39)怎么输入
    如果是这样values(char(39)) 结果是39
    如果是这样values('char(39)') 结果是char(39)
    怎么出现不了'呢?
      

  18.   


    -------------------这样可以declare @t table(col varchar(20))insert into @t select 'qqq'+char(39)+'www'select * from @t
    (所影响的行数为 1 行)col                  
    -------------------- 
    qqq'www(所影响的行数为 1 行)