Tag: sql like

如何使用“LIKE”和“%”来检查android中的变量的相似性(Java代码)

我正在使用Java开发Android应用程序,我需要用Java代码查询数据库以检查userinput(variable)语句是否包含在我的SQLite数据库中使用LIKE查询和java代码中的rowQuery方法的rowQuery , 我使用了这段代码,但它不起作用: cursor = db.rawQuery(“SELECT shompet FROM sentence WHERE ” + column + ” LIKE ‘%” + newMessage + “%'”, null); newMessage是我的变量(userInput) 我读了类似的主题,但要么他们不是我的答案,要么他们是如此复杂。

在Hibernate Criteria中将date转换为字符串

是否可以执行检查Date实例的字符串表示forms的请求。 例如 Restrictions.like(“dateField”, “%12%”) 检索日期中包含12个字符串或12个月或12个年份的日期,其中“dateField”是java.util.Date的实例谢谢

Hibernate Criteria API中的SQL’LIKE’运算符

我想用Hibernate Criteria实现一些通用filter。 它应该像SQL中的LIKE运算符一样工作: SELECT * FROM table WHERE table.ANYCOLOUMNHERE LIKE ‘%’||anyvaluehere||’%’ 我有Map其中key是列名, value是其值。 我试过这样的事情: for (Entry filter : filters.entrySet()) { crit.add(Restrictions.ilike(filter.getKey(), filter.getValue(), MatchMode.ANYWHERE)); } 但是当字段类型不是String时 ,它会导致java.lang.ClassCastException : [com.nsn.util.LoggerUtilerror] (http-localhost-127.0.0.1-8080-1) Error while getting alarms: java.lang.ClassCastException: java.lang.String cannot be cast to java.lang.Long at org.hibernate.type.descriptor.java.LongTypeDescriptor.unwrap(LongTypeDescriptor.java:36) [hibernate-core-4.1.1.Final.jar:4.1.1.Final] at org.hibernate.type.descriptor.sql.BigIntTypeDescriptor$1.doBind(BigIntTypeDescriptor.java:57) [hibernate-core-4.1.1.Final.jar:4.1.1.Final] at org.hibernate.type.descriptor.sql.BasicBinder.bind(BasicBinder.java:92) [hibernate-core-4.1.1.Final.jar:4.1.1.Final] at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:305) [hibernate-core-4.1.1.Final.jar:4.1.1.Final] at org.hibernate.type.AbstractStandardBasicType.nullSafeSet(AbstractStandardBasicType.java:300) [hibernate-core-4.1.1.Final.jar:4.1.1.Final] […]

将LIKE与ojdbc7.jar一起使用时出现SQLSyntaxErrorException

我有以下声明: PreparedStatement prpStat = conn .prepareStatement(“SELECT * FROM natperson WHERE name LIKE ?”); prpStat.setString(1, “A”); ParameterMetaData pmd = prpStat.getParameterMetaData(); ResultSet rs = prpStat.executeQuery(); 当我执行prpStat.getParameterMetaData();时,我得到以下内容prpStat.getParameterMetaData(); ojdbc7.jar的方法。 使用ojdbc6时不会抛出exception。 java.sql.SQLSyntaxErrorException: ORA-00904: “NAMEIKE”: ungültiger Bezeichner at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:450) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:392) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:385) at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:938) at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:655) at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:249) at oracle.jdbc.driver.T4C8Odscrarr.doODNY(T4C8Odscrarr.java:96) at oracle.jdbc.driver.T4CPreparedStatement.doDescribe(T4CPreparedStatement.java:719) at oracle.jdbc.driver.OracleStatement.describe(OracleStatement.java:4223) at oracle.jdbc.driver.OracleResultSetMetaData.(OracleResultSetMetaData.java:52) at oracle.jdbc.driver.OracleStatement.getResultSetMetaData(OracleStatement.java:4206) at oracle.jdbc.driver.OraclePreparedStatement.getMetaData(OraclePreparedStatement.java:4603) […]

Oracle中使用LIKE进行重音和不区分大小写的排序规则

我发现这个答案很有用: Oracle中的Accent和不区分大小写的COLLATE ,但我的问题是关于使用版本9 Oracle db进行搜索。 我尝试过这样的查询: SELECT column_name FROM table_name WHERE NLSSORT(column_name, ‘NLS_SORT = Latin_AI’) LIKE NLSSORT(‘%somethingInDB%’, ‘NLS_SORT = Latin_AI’) 但没有结果返回。 我创建了一个小的Java文件来测试: import org.apache.commons.dbcp.BasicDataSource; import java.sql.Connection; import java.sql.SQLException; import java.sql.PreparedStatement; import java.sql.ResultSet; public class DbCollationTest { public static void main(String[] args) throws SQLException { BasicDataSource dataSource = new BasicDataSource(); dataSource.setDriverClassName(“oracle.jdbc.driver.OracleDriver”); dataSource.setUrl(“url”); dataSource.setUsername(“usr”); dataSource.setPassword(“pass”); Connection conn […]

如何用“like”运算符查询lucene?

通配符*只能在单词的末尾使用,例如user* 。 我想用%user%查询,怎么做?

不能在JDBC PreparedStatement中使用LIKE查询?

查询代码和查询: ps = conn.prepareStatement(“select instance_id, ? from eam_measurement where resource_id in (select RESOURCE_ID from eam_res_grp_res_map where resource_group_id = ?) and DSN like ‘?’ order by 2″); ps.setString(1,”SUBSTR(DSN,27,16)”); ps.setInt(2,defaultWasGroup); ps.setString(3,”%Module=jvmRuntimeModule:freeMemory%”); rs = ps.executeQuery(); while (rs.next()) { bla blah blah blah … 返回一个空ResultSet 。 通过基本的调试我发现它的第三个绑定是问题,即 DSN like ‘?’ 我尝试了各种各样的变化,其中最明智的似乎是使用: DSN like concat(‘%’,?,’%’) 但这不起作用,因为我错过了连接字符串两侧的’所以我尝试: DSN like ‘ concat(‘%’,Module=P_STAG_JDBC01:poolSize,’%’) […]