我在 hibernate 查询中使用 CONCAT_WS,
创建一个巨大的字符串并使用 like '%value%'
按所有字段进行搜索。它工作正常,但对于某些记录,某些字段为空。例如,如果 actId
为空,我的整个 concat_ws 返回空。我不知道为什么,concat_ws 必须忽略空值。可能是因为 hibernate 试图从 null 调用 getActNumber?无论如何,我正在努力解决这个问题。
where CONCAT_WS("_", actItemId.actId.actNumber, DATE_FORMAT(recordDate, '%d.%m.%Y'), actItemId.techniqueId.name, fzkActNumber, ....etc) like '%value%'
谢谢!
最佳答案
CONCAT_WS()
按设计运行。
如果您希望它在某些参数为 NULL 时也能正常工作,请执行类似的操作将每个可能为 NULL 的参数转换为空格。
CONCAT_WS('_', IFNULL(cola,''), IFNULL(colb,'') ...)
关于java - Hibernate concat_ws 和空字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49383234/