· LANGUAGE/└ Database
[ SQL ] 대소문자를 구분하지 않는 SQL 문 작성
감자도리22
2024. 3. 11. 19:02
환경 : Spring Tool Suite4
대소문자를 구별하려면, 아무런 조건을 달아주지 않으면 되는 반면,
대소문자 구별을 무시하기 위해선 upper() 를 작성해줘야한다.
public List<ProductDto> selectList(String column, String keyword) {
String sql = "select * from menu "
// + "where instr("+column+", ?) > 0 "//대소문자 구별
+ "where instr(upper("+column+"), upper(?)) > 0 "//대소문자 무시
+ "order by "+column+" asc, menu_no asc";
Object[] data = {keyword};
return jdbcTemplate.query(sql, mapper, data);
}
위 자바 코드를 sql문으로 보면 아래와 같다.
select *
from product
where instr(upper(product_name), upper(?)) > 0
order by product_name asc, product_id asc;
(+) upper(product_name) : product_name 값을 전부 대문자로 변경
(+) 지정된 문자열(?로 표시된 값)이 처음으로 나타나는 위치를 반환
개인 공부 기록용입니다:)
728x90