gpt4 book ai didi

java - 如何为数据库查找创建变量模式匹配?

转载 作者:行者123 更新时间:2023-12-02 06:18:18 26 4
gpt4 key购买 nike

我想找到一个表行,其中所需值的形式为 A9-B19-C12-D1。因此,可变字母后跟可变数字,每个数字由 - 分隔。长度不固定,例如也可以仅为A9A9-D1

我只关心字母。现在我有 4 个字母 A、B、C、D,我想对 postgres 数据库运行查询,发现有一个采用上述格式的条目。

我可以用下面的语句来做到这一点吗?

SELECT * FROM mytable t WHERE t.entry LIKE 'A%B%C%D%';

如果这是正确的:我如何制定一个 NamedQuery 来提供字母作为变量参数?

最佳答案

尝试将SIMILAR TO与正则表达式一起使用A\d+(-B\d+(-C\d+(-D\d+)?)?)?

@NamedNativeQueries({
@NamedNativeQuery(
name = "finDesiredData",
query = "select * from mytable t where t.entry SIMILAR TO :ent",
resultClass = MyTable.class
)
})

我个人会使用 java StringBuffer 将字母连接成正确的正则表达式。

关于java - 如何为数据库查找创建变量模式匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21256447/

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