java - 如何通过sql "Like"运算符找到合适的句子?

标签 java mysql sql select oracle11g

在我的java应用程序中,我想从数据库中检索与给定句子中的任何单词映射的所有句子。以下两种方法对我不起作用。

   /*...1st approach...*/
   String sentence1 ="Java is very famous programming language";
   String selectSQL = "SELECT Data_Sentences FROM table1 Where Data_Sentences LIKE '%"+sentence1+"%'";
   PreparedStatement ps=conn.prepareStatement(selectSQL);
   rs = pstmtFGram.executeQuery();

这不会输出任何句子,也不会给出任何 sql 错误。

   /*...2nd approach...*/
   String selectSQL = "SELECT Data_Sentences FROM table1 Where Data_Sentences LIKE '%Java%'||%'is'%||%'very'%||%'famous'%||%'programming'%||%'language'%";

在上述方法中,检索仅与句子的第一个('%Java%')单词映射的句子。即使句子中的一个单词,我怎样才能获得所有句子的映射?

最佳答案

尝试,

SELECT Data_Sentences 
FROM table1 
WHERE Data_Sentences LIKE '%Java%' or Data_Sentences LIKE '%is%';

在 Oracle 10g 中,还有一个函数 REGEXP_LIKE。对于 More

关于java - 如何通过sql "Like"运算符找到合适的句子?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25562277/

相关文章:

java - JFreeChart - 时间序列和 CandleStick 在同一图表上

mysql - 通过 PowerShell 脚本使用 MySQL 控制台

PHP MySQL 搜索引擎多输入

mysql - 在数据库中存储时区

java - 命令按钮不触发 Action - Primefaces 和 JSF

java - 没有使用 mockmvc 的请求映射

mysql - 多个用户同时访问数据库

sql - 仅当 select 返回有效行时才从 select 插入表

java - 如何在 try/catch 语句中返回一个字符串?

php - SQL INSERT INTO SELECT 并返回 SELECT 数据以创建行 View 计数