IOS 拼裝where後的動態字串

2021-06-29 03:23:53 字數 1412 閱讀 7020

1、  問題

需要拼裝紅色部分的動態字串。 01,02,03等nsstring資料存放在nsarray,

大小是動態的。

where id in  ('01','02','03') 

2、解決辦法

code:

// nsarray *array....資料部分略去

nsstring *strwhere = [arraycomponentsjoinedbystring:

@"','"

];nsstring *query = [nsstringstringwithformat:

@"select * from tablename where id in ('%@')"

,strwhere];

nslog(@"strwhere*****====%@",strwhere);

nslog(@"queryis *****====%@",query);

執行結果:

2015-03-14 22:13:37.862strwhere*****====1','2','3','4

2015-03-14 22:13:39.063queryis*****====select * from tablename where id in ('1','2','3','4')

3、其它

a:字串陣列轉字串

nsarray *array = [[nsarray alloc]initwithobjects:@"01",@"02",@"03",@"04",nil ];

nsstring *str = [array componentsjoinedbystring:

@「『,'"];

b:數字陣列轉字串(去掉單引號即可)

nsstring *str = [array componentsjoinedbystring:

@「,"

];c:

字串切成陣列

nsstring *strlist = @「01,02,03,04";

nsarray *arrayitems = [strlist componentsseparatedbystring:@「,"];

Oracle動態SQL的拼裝要領

oracle的動態sql語句用起來很方便,但其拼裝過程太煩人。尤其在拼裝語句中涉及到date型別欄位時,拼裝時要加to char先轉換成字元,到了sql中又要使用to date轉成date型別和原字段再比較。www.akdy.cn 例如這樣乙個sql select and t.created to ...

SQL中條件放在on後與where後的區別

sql中on條件與where條件的區別 資料庫在通過連線兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給使用者。在使用left jion時,on和where條件的區別如下 1 on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。2 wh...

sql連線查詢中,where關鍵字的位置

最近一直在忙,也沒有太多時間停留下來寫部落格。晚上遇到乙個覺得很有趣的sql題,可能對初學者和我這種菜鳥會有幫助,所以決定分享給大家。由於筆者天生笨拙,且思維不嚴謹,也實在不擅長寫sql語句,高手請勿見笑,就請直接跳過本文吧。背景就不多介紹了,先建表,插入測試資料吧。字段那些都有注釋 醫生表 cre...