sql语法请教:想实现 字段 in ('a','b','c') 括号中的字符能不能放到一个string变量里面? ( 积分: 30 )

  • 主题发起人 主题发起人 wyxriver
  • 开始时间 开始时间
W

wyxriver

Unregistered / Unconfirmed
GUEST, unregistred user!
我是说能不能用 s='a,b,c'之类的变量,然后 sql.add( select * where 字段in('''+s+''') ')的方法来代替?当然如果S里面只有一个字符串当然好办,直接替代就可以了,现在是想实现一个S变量里面 同时包括其中多个字符串?
 
var&nbsp;s:&nbsp;string;<br>begin<br>&nbsp;&nbsp;//''代表一个'<br>&nbsp;&nbsp;s&nbsp;:=&nbsp;'''a'',''b'',''c''';<br>&nbsp;&nbsp;sql.add('select&nbsp;*&nbsp;from&nbsp;表名&nbsp;where&nbsp;字段in('+s+')');<br>end;
 
like&nbsp;反向操作<br>sql.add(&nbsp;'select&nbsp;*&nbsp;where&nbsp;'''+s+'''&nbsp;like&nbsp;''%字段%''&nbsp;')
 
当然可以
 
with&nbsp;qry_tmp&nbsp;do&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;Close;<br>&nbsp;&nbsp;&nbsp;&nbsp;SQL.Clear;<br>&nbsp;&nbsp;&nbsp;&nbsp;SQL.Add('select&nbsp;store_no&nbsp;from&nbsp;m_store_name&nbsp;where&nbsp;shot_name='''+cb_titop.text+'''&nbsp;and&nbsp;&nbsp;bu='''+cust_no+'''&nbsp;');<br>&nbsp;&nbsp;&nbsp;&nbsp;Open;<br>&nbsp;&nbsp;&nbsp;&nbsp;s:='';<br>&nbsp;&nbsp;&nbsp;&nbsp;first;<br>&nbsp;&nbsp;&nbsp;&nbsp;for&nbsp;x:=1&nbsp;to&nbsp;RecordCount&nbsp;do&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s:=s+''''+trim(fieldbyname('store_no').asstring)+''''+',';<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;next;<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;s:=copy(s,1,length(s)-1);<br>&nbsp;&nbsp;end;<br><br><br>參考這一個
 
接受答案了.
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
916
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部