SQL in查詢字段為Guid拼接處理辦法
場(chǎng)景一:在我們寫SQL腳本執(zhí)行普通的Id 為Int,Long 類型查詢?yōu)?譬如: select *from Table where id in (1,2,3);
場(chǎng)景二:SQL in 查詢,當(dāng)查詢字段為Guid,或字符串類型時(shí)候,需要對(duì)In帥選條件進(jìn)行處理,譬如:select *from Table where GuidID in ('89e36dd0-4e36-488e-8159-2c56251d7284','89767f6f-b06b-4081-b6ad-af6b6cf31d64')
可以通過,string.join 進(jìn)行轉(zhuǎn)換處理。
方法1:strchgPositionTemplateRole = "'" + string.Join("','", chgPositionTemplateRole) + "'";
方法2:string.Join(",", PagePositionTemplateReponse.Select(r => "'" + r.PositionTemplateID + "'"))
兩者效果一樣都可實(shí)現(xiàn);
場(chǎng)景三:針對(duì)情況,string.join 處理方式,in 條件字符串有可能超過 SQL varchar 設(shè)定默認(rèn)長(zhǎng)度
辦法一、字符類型改成text ;
辦法二、先對(duì)SQL語句進(jìn)行刷選,在用Linq Contain,Any 等刷選
浙公網(wǎng)安備 33010602011771號(hào)