MySQL:Java:OR検索、?の処理

JavaMySQLのSELECT文に?を入れたとき。

userテーブルからnameがname(変数)、tellがtell(変数)を取り出したいとき。

 

str.append("SELECT * FROM user WHERE *1");
String strSQL = new String(str);
PreparedStatement pStmt = this.con.prepareStatement(strSQL);
pStmt.setString(1, "%" + name + "%"); 
pStmt.setString(2, "%" + tell + "%");

 

 

*1:name LIKE ?) OR (tell LIKE ?

MySQL:連結して検索

データベースで郵便番号を分けて保存していて、合わせて検索したい場合。

【DB : yuubin】

yuubin1

123

456

 

yuubin2

7890

1234

ここから 1237890 で検索したい。

 

SELECT * FROM yuubin WHERE CONCAT(yuubin1,yuubin2) LIKE '1237890';