当前位置: 代码迷 >> Sql Server >> [初学者继续散分100] SELECT Replace("列名"'"','''') FROM 表 EXEC('SELECT replace(FNameen,''"'','''''''')AS FNameen FROM 表')
  详细解决方案

[初学者继续散分100] SELECT Replace("列名"'"','''') FROM 表 EXEC('SELECT replace(FNameen,''"'','''''''')AS FNameen FROM 表')

热度:409   发布时间:2016-04-27 15:39:39.0
[菜鸟继续散分100] SELECT Replace("列名",'"','''') FROM 表 EXEC('SELECT replace(FNameen,''"'','''''''')AS FNameen FROM 表')
SQL  
[1]SELECT   Replace( "列名 ", ' " ', ' ' ' ')   FROM   表  
[2]EXEC( 'SELECT   replace(列名, ' ' " ' ', ' ' ' ' ' ' ' ')AS   FNameen   FROM   表 ')
以上2个   都是我算分得来的,但是如今遇到问题了,,不甘心啊
  一定要知道是什么原理,   sql   中   关于   '   和   ' '   他们是如何处理的  
[2]   中   查询语句   只不过用   '   '   包起来了
顺便讲讲原理,,我要搞懂!   这种情况出现得多不多,我目前遇到就只有replace

还有   我是今天刚进   CSDN     我总共有多少分啊?   怎么去查看
只知道我一直算分,他也没有提醒我分要完了..


------解决方案--------------------
1.假设要执行下面的SQL语句:
select * from table where 1=1 and FJobAdd like '%xyz% '
2.变成字符串就是:(为了易于理解及看起来不致混乱,先用双引号表示字符串)
"select * from table where 1=1 and FJobAdd like '%xyz% ' "
3.把 'xyz '换成变量:
set @FJobAdd = 'xyz '
"select * from table where 1=1 and FJobAdd like " + " '% " + @FJobAdd + "% ' "
4.根据转换规则,把字符串内的每个单引号转换成一对单引号:
"select * from table where 1=1 and FJobAdd like " + " ' '% " + @FJobAdd + "% ' ' "
5.把字符串用单引号表示:
'select * from table where 1=1 and FJobAdd like ' + ' ' '% ' + @FJobAdd + '% ' ' '
  相关解决方案