Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何通过sql找到合适的句子;例如;操作人员_Java_Mysql_Sql_Select_Oracle11g - Fatal编程技术网

Java 如何通过sql找到合适的句子;例如;操作人员

Java 如何通过sql找到合适的句子;例如;操作人员,java,mysql,sql,select,oracle11g,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+"%'"; PreparedStat

在我的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%”)单词的句子。即使句子中有一个单词,我怎么能得到所有句子的地图呢?

怎么样

 String selectSQL = "SELECT Data_Sentences FROM table1 Where Data_Sentences LIKE '%Java%' or Data_Sentences LIKE '%is'% ....
更理想的方法是使用

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

在Oracle10g中也有类似REGEXP的函数。对于

我可以向你解释一下逻辑

首先将句子按空格分割,并存储在单词数组中。现在运行for循环并创建如下查询

string qry= "SELECT Data_Sentences FROM table1 Where";
   For(i=0;i<arraylenth;i++)
{
    qry+= " Data_sentences like '%" + array[i].tostring() + "%' OR";
}

qry += " 1=1";
string qry=“从表1中选择数据\句子,其中”;

对于(i=0;iThanx lot.这很好。但是我还有一个问题,我如何动态地更改“where”部分后面的单词?Bcz我不知道“sentence1”中单词的长度。这个大小会动态变化。我如何改进代码?试着使用Thanx lot.这很好。但是我还有一个问题,我如何动态地更改“where”后面的单词part?Bcz我不知道“sentence1”中的单词数。该大小会动态变化。我如何改进代码?我有一个问题。当我添加1=1内容时,像上面那样添加结尾,这会检索所有数据库内容。我如何解决它?