代码之家  ›  专栏  ›  技术社区  ›  Rence

JPA查询:如果param是空字符串,那么也获取空值

  •  0
  • Rence  · 技术社区  · 7 年前

    我有以下疑问:

    SELECT p FROM dbEntity p where p.name like %:nameFilter% 
    

    nameFilter 默认为空字符串( "" ),也可以设置为用户可以输入的字符串。

    现在,默认的大小写获取name列被文本填充或设置为空字符串的所有行。
    但是,也有一些行的名称设置为NULL。

    如何将查询更改为同时返回空的行,但前提是 名称筛选器 是空字符串吗?

    1 回复  |  直到 7 年前
        1
  •  1
  •   Ajan Balakumaran    7 年前

    可以使用coalese并将null转换为空字符串,以便检索,

     SELECT p FROM dbEntity p where coalesce(p.name,"") like %:nameFilter%