java - 使用 "contains"查询而不是 "exact match"查询搜索 oracle 数据库

标签 java sql oracle jdbc

我需要搜索包含用户信息表的数据库。我知道通过使用如下查询进行搜索来获得结果

String query;
StringBuilder sb=new StringBuilder(1024);
sb.append("select * from userinfo where uname=").append(key);
query=sb.toString();

但我需要做的是。

  • 如果 key 是abc
  • 然后我需要在数据库中搜索所有值为 abc
  • 的数据
  • 例如
  • 我的数据库包含数据abcabagjabcabcxyzhjjabcxyz
  • 然后我需要检索值 abcgjabcabcxyzhjjabcxyz
  • 因为以上所有值都包含 abc

我怎样才能做到这一点?

最佳答案

如果您使用的是纯 SQL,则应该使用带“%”的 like。然后,您的查询将返回 uname 包含“abc”的所有行。您的查询需要如下所示:

select * from userinfo where uname like '%key%'

关于java - 使用 "contains"查询而不是 "exact match"查询搜索 oracle 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15158983/

相关文章:

java - Belisha Beacon Java程序按钮查询

java - 任何 Map 子类中是否存在原子 "set if empty"操作?

java - 创建从 Unix 纪元到当前时间的毫秒数

php - 设置变量 $_GET 全局(添加好友)

sql - 使用 Microsoft SQL Server 管理复制表

java - 如何切换对象字段的数据类型?

SQL - 我是否应该使用连接表?

sql - 如何计算varchar中指定字符的出现次数

mysql - 除以零的处理方式不同

c# - 从 Oracle DB 获取数据时在 C# 中获取 System.OutOfMemoryException