본문 바로가기

JAVA/Oracle

오라클 - like 연산자의 변수 처리 및 예제

반응형


** like 연산자의 변수처리

: 책이름 중에 "축구" 글자가 들어가는 모든 도서 검색



방법1)

: "%축구%" 자리 전체를 ? 으로 잡아주고 변수를 이용해 사용


public static void main(String[] args) {

// TODO Auto-generated method stub


// like 연산자의 변수처리

// 책이름 중에 "축구" 글자가 들어가는 모든 도서 검색

String user = "축구";

String keyword = "%" + user + "%";

String sql = "select * from book where bookname like ?";


try {

Connection conn = ConnectionProvider.getConnection();

PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setString(1, keyword);

ResultSet rs = pstmt.executeQuery();


while(rs.next()){

String bookname = rs.getString(2);

int price = rs.getInt(4);

System.out.println(bookname+ ", "+price);

}


ConnectionProvider.close(rs, pstmt, conn);


} catch (Exception e) {

System.out.println(e);

}

}




방법2)

: 오라클의 문자열 연결 연산자 || 를 이용


public static void main(String[] args) {

// TODO Auto-generated method stub


// like 연산자의 변수처리

// 책이름 중에 "축구" 글자가 들어가는 모든 도서 검색

String user = "축구";

// 오라클의 문자열 연결 연산자 ||

String sql = "select * from book where bookname like '%' || ? || '%'";


try {

Connection conn = ConnectionProvider.getConnection();

PreparedStatement pstmt = conn.prepareStatement(sql);

pstmt.setString(1, user);

ResultSet rs = pstmt.executeQuery();


while(rs.next()){

String bookname = rs.getString(2);

int price = rs.getInt(4);

System.out.println(bookname+ ", "+price);

}


ConnectionProvider.close(rs, pstmt, conn);


} catch (Exception e) {

System.out.println(e);

}

}

반응형