首页 > 其他分享 >JPA 使用@query 时,判断数组

JPA 使用@query 时,判断数组

时间:2023-04-28 18:45:23浏览次数:38  
标签:COALESCE JPA ifnull 数组 query null

一般如果使用@query时,

我们的sql是这样的:

select * from t
where (ifnull(:a,'')='' or t.a=:a)
and (ifnull(:b,'')='' or t.b=:b)

但如果a参数是一个数组a=[1,2,3],怎么办?ifnull会变成ifnull(1,2,3,'')=''

这时我们可以使用  COALESCE(:a) is null

select * from t
where (COALESCE(:a) is null or t.a=:a)
and (ifnull(:b,'')='' or t.b=:b)

 

标签:COALESCE,JPA,ifnull,数组,query,null
From: https://www.cnblogs.com/hanjun0612/p/17362943.html

相关文章

  • go语言 数组和切片、可变长参数、maps、字符串、指针、结构体、方法、接口
    数组和切片数组#1定义,初始化,使用#2数组是值类型数字,字符串,布尔,数组,都是值类型,真正直接存数据切片,map,指针引用类型,是个地址,指向了具体的值#3数组长度#4循环打印数组#5多纬数组#6数组定义并赋初值,把第99赋值为1,其他都是0#数组的长度也......
  • 将字节数组输入流拷贝成字节数组输出流,将ByteArrayInputStream转成ByteArrayOutputStr
    /**将ByteArrayInputStream拷贝成ByteArrayOutputStream*将字节数组输入流拷贝成字节数组输出流*/publicstaticByteArrayOutputStreamgetByteArrayOutputStream(ByteArrayInputStreaminputStream)throwsIOException{ByteArrayOutpu......
  • JPA之@EnableJpaAuditing注解
    在SpringJPA中,支持在字段或方法上进行注解@CreateDate、@CreatedBy、@LastModifiedDate、@LastModifiedBy。具体含义:**@CreateDate:**表示该字段是创建时间字段,在这个实体被insert的时候,会自动填充创建的时间,不用手动填充该字段。**@CreatedBy:**表示该字段是创建人字段,在这......
  • 二维数组在代码中的应用
    在做人岗架时,最初在需求拟定时,客户信誓旦旦的说一个用户只会属于一个部门的一个岗位,所以设计数据库如下:同时也有用户角色关系表角色表以及用户码表。仅仅隔了半年突然就出现了特殊情况,有多个部门多个岗位为一个用户的情况,主职和兼职的情况。用户唯一标识是手机号,用户也只有......
  • 数字在排序数组中出现的次数
    classSolution{public://二分找出k第一次,最后一个k后面的下标,相减就是答案intgetNumberOfK(vector<int>&nums,intk){intn=nums.size();if(!n)return0;//找到第一个≥k的下标intl=0,r=n-1;while(l<r){......
  • double转为整型intValue()及sha1在线文件获取,文件都有一个唯一的sha1;jQuery事件方法;
    double转为整型intValue()及sha1在线文件获取,文件都有一个唯一的sha1Doubleindust=RankConstant.INIT_RADIO;indust.intValue()double由100.0---->100整型1.intValue()是java.lang.Number类的方法,Number是一个抽象类。Java中所有的数值类都继承它。也就是说,不单是Integer有int......
  • Python很多时候要从键盘连续输入一个数组,并用空格隔开;Python爬取一些数据;python pip安
    Python要从键盘连续输入一个数组,并用空格隔开,Python中的实现方法如下:str=input(‘以空格为间隔连续输入一个数组:’)然后在键盘中输入,会·得到的str为一个字符串,要将其转为一个列表有两种方法方法一:a=[int(n)forninstr_in.split()]方法二:a=list(map(int,str.strip().sp......
  • HJ93 数组分组
    修改1: 修改2: 修改3:(正确答案)  修改4:优化修改3。在修改3代码实现,尽管找到了一组可行的true,但仍然会执行后面的递归。可进行优化找到一组true后不再进行后面的递归尝试。优化实现方式是,找到一组true后,之后其他递归全部执行返回。1#no=input()2a=list(map(int,input......
  • 1005. K 次取反后最大化的数组和
    给你一个整数数组nums和一个整数k,按以下方法修改该数组:选择某个下标i并将nums[i]替换为-nums[i]。重复这个过程恰好k次。可以多次选择同一个下标i。以这种方式修改数组后,返回数组可能的最大和。输入:nums=[4,2,3],k=1输出:5解释:选择下标1,nums变为[4,......
  • 使用jquery探测移动设备 How to detect mobile devices using jQuery
     Helloeveryone,yesterdayIreceivedarequestfromtheclient.HewantedtodisablethepopupofNewsletterPopupextensionwhencustomersvisithiswebsiteonmobiledevices.ItgavemeachancetoworkwithjQueryagainandfinallyIcameupwitha......