PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Cara menggunakan pencarian PreparedStatement dan Case INsensitive

Jadikan familyName atau givenName menjadi huruf kecil juga karena Anda sudah menggunakan LOWER DB API

String query ="SELECT agent.familyname, agent.givenname" +
                        " FROM agent" +
                        " WHERE agent.agentid = piececreation.agentid" +
                        " AND (LOWER(familyname) = '"+agent_lastname.toLowerCase()+"' OR LOWER(givenname) = '"+agent_name.toLowerCase()+"') ORDER by familyname";

Saat Anda menggunakan PreparedStatement jangan menambahkan nilai secara langsung di SQL Anda, jika Anda melakukannya, Anda rentan terhadap Serangan SQL alih-alih membuat parameter nilai Anda.

String query = 
                "SELECT agent.familyname, agent.givenname"
                + " FROM agent"
                + " WHERE agent.agentid = ?"
                + " AND (" 
                + " LOWER(familyname) = ? OR LOWER(givenname) = ?" 
                + ") " 
                + " ORDER by familyname";


        pst.setInt(1, piececreation.agentid);
        pst.setString(2, agent_lastname.toLowerCase());
        pst.setString(3, agent_name.toLowerCase());

Kemudian tetapkan nilai yang memanggil metode setXXX yang sesuai seperti yang didefinisikan di sini .

Anda dapat membaca tutorial di sini



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan pg_notify dalam fungsi pemicu PostgreSQL

  2. Tidak dapat menyelesaikan Flask-Migration

  3. Beralih dari MySQL ke PostgreSQL - tips, trik, dan paham?

  4. Bagaimana cara memenuhi batasan force_srid_coordinate dengan GeoDjango/PostGIS?

  5. Mewakili waktu mendatang di PostgreSQL