日期:2014-05-18  浏览次数:20545 次

[菜鸟继续散分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 + '% ' ' '