SQL in查询字段为Guid拼接处理办法

Posted 101love

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL in查询字段为Guid拼接处理办法相关的知识,希望对你有一定的参考价值。

 

场景一:在我们写SQL脚本执行普通的Id 为Int,Long 类型查询为 譬如: select *from Table where id in (1,2,3);

 

场景二:SQL in 查询,当查询字段为Guid,或字符串类型时候,需要对In帅选条件进行处理,譬如:select *from Table where GuidID in (‘89e36dd0-4e36-488e-8159-2c56251d7284‘,‘89767f6f-b06b-4081-b6ad-af6b6cf31d64‘) 

可以通过,string.join 进行转换处理。

方法1:strchgPositionTemplateRole = "‘" + string.Join("‘,‘", chgPositionTemplateRole) + "‘";
方法2:string.Join(",", PagePositionTemplateReponse.Select(r => "‘" + r.PositionTemplateID + "‘"))

两者效果一样都可实现;

 

场景三:针对情况,string.join 处理方式,in 条件字符串有可能超过 SQL varchar 设定默认长度

办法一、字符类型改成text ;

办法二、先对SQL语句进行刷选,在用Linq  Contain,Any 等刷选

以上是关于SQL in查询字段为Guid拼接处理办法的主要内容,如果未能解决你的问题,请参考以下文章

pl/sql查询字段为科学计数法

求帮忙一个java的sql语句拼接,条件是 in 包括!

SQL查询结果替换???????

sql IN 字符串查询 急

mysql 查询某个字段并拼接case when出来的字段

sql 如何将查出来的一列用逗号拼接