Mysql
 sql >> база данни >  >> RDS >> Mysql

Използване като заместващ знак в подготвеното изявление

Трябва да го зададете в самата стойност, а не в подготвения SQL низ.

Така че, това трябва да стане за съвпадение на префикс:

notes = notes
    .replace("!", "!!")
    .replace("%", "!%")
    .replace("_", "!_")
    .replace("[", "![");
PreparedStatement pstmt = con.prepareStatement(
        "SELECT * FROM analysis WHERE notes LIKE ? ESCAPE '!'");
pstmt.setString(1, notes + "%");

или съвпадение на наставката:

pstmt.setString(1, "%" + notes);

или глобално съвпадение:

pstmt.setString(1, "%" + notes + "%");


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получа необработена, компилирана SQL заявка от SQLAlchemy израз?

  2. C# с параметри на MySQL INSERT

  3. Примери за DAYOFWEEK() – MySQL

  4. Как да предоставим всички привилегии на root потребител в MySQL 8.0

  5. Фатална грешка:Извикване на член на функция query() на null