gpt4 book ai didi

querydsl - QueryDsl 中的 LIKE 和 CONCAT

转载 作者:行者123 更新时间:2023-12-03 16:27:05 26 4
gpt4 key购买 nike

如何在 queryDsl 中编写此查询

SELECT a.id, 
(SELECT count(*) FROM ancestors_table t where t.ancestors LIKE CONCAT('%,',a.id,',%') )
FROM ancestors_table a;

我与 LIKE CONCAT('%,',a.id,',%') 斗争部分。

解决方案
where(t.ancestors.like(
Expressions.stringTemplate("'%,'")
.concat(Expressions.stringTemplate("{0}" , a.id ))
.concat(Expressions.stringTemplate("',%'"))
))

最佳答案

不完全确定,但像这样:

where(t.ancestors.like(Expressions.asString("%").concat(a.id).concat("%")))

a.id是一个数字,那么您需要将其转换为字符串:
where(t.ancestors.like(Expressions.asString("%").concat(a.id.stringValue()).concat("%")))

关于querydsl - QueryDsl 中的 LIKE 和 CONCAT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36903669/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com