在java代码中的REGEXP

时间:2017-01-31 10:36:31

标签: java java-ee native-sql

这是在sql中正常运行的查询。但是当我用java代码破坏它时。显示查询语法异常

SELECT * FROM faq WHERE question REGEXP 'general' 

我的java代码

 List<Object[]> results = getBaseDao().findByNativeSql(nativeSqlForSearch.toString(), 0,0);

其中

StringBuilder nativeSqlSerach = "Select f from faq f where f.question REGEXP 'general' "

1 个答案:

答案 0 :(得分:1)

我在这里看到一些错误。

  1. 您使用的是不同的变量:

    nativeSqlSerach
    

    nativeSqlForSearch
    
  2. 您正在使用String作为StringBuilder对象。这是错的,我想知道它为什么不能编译。使用

    StringBuilder nativeSqlSerach = new StringBuilder("Select f from faq f where f.question REGEXP 'general'");
    

    稍后使用toString()

    String nativeSqlSerach = "Select f from faq f where f.question REGEXP 'general'";
    

    没有toString()

  3. 我不确定您是否发布了简化问题,但在上述情况下,您根本不需要任何REGEX。只需使用=LIKE通配符表示法。