Delphi中SQL like字符串通配问题
表b_training中有字段teacher,表b_teacher中有字段Name。都是字符串类型,teacher字段可能由Name中的若干字符串以顿号隔开拼接成。下列语句在MSSQL Server2005上能正确查出数据:
Select a.teacher,b.[Name]
from b_training a inner join b_teacher b on a.teacher like '%'+b.[Name]+'%'
请问如何把它转化为在Delphi上可执行的字符串?如:
sql :String;
sql := 'Select a.teacher,b.[Name]
from b_training a inner join b_teacher b on a.teacher like ''%''+b.[Name]+''%'' ';
这样是肯定不行的。
请SQL高手指教
不好意思,很久没来了,没有满意的答案,只能给第一位大神了
第1个回答 2010-07-13
楼主,
你用下面的查询语句试试
sql := 'Select a.teacher,b.[Name] from b_training a inner join b_teacher b on a.teacher like '+''''+'%'+''''+'+b.Name+'+''''+'%'+'''';
因为你涉及到两层引号的嵌套,写在一起不清晰,我们可以分开写
希望可以有所帮助
第2个回答 2010-07-13
sql := 'Select a.teacher,b.[Name]
from b_training a inner join b_teacher b on a.teacher like '+'''+'%'+'''+'b.[Name]'+'%'+'''';
试一下呗 我自己没有试过
第3个回答 2010-07-13
sql := 'Select a.teacher,b.[Name]
from b_training a inner join b_teacher b on a.teacher like ''%'+b.[Name]+'%'' ';
这样的 '+b.[Name]+' 一端减少一个单引号本回答被提问者采纳
第4个回答 2010-07-15
sql := 'Select a.teacher,b.[Name]
from b_training a inner join b_teacher b on a.teacher like '''+'%'+'b.[Name]'+'%'+'''';
试试看~
Warning: Invalid argument supplied for foreach() in /www/wwwroot/aolonic.com/skin/templets/default/contents.html on line 45
相似回答