개요

SQL function

/**
 * member 를 M 으로 변경하는 replace 함수 사용
 */
@Test
void sqlFunction() {
    //given

    //when
    List<String> result = jpaQueryFactory
            .select(Expressions.stringTemplate(
                    "function('replace', {0}, {1}, {2})",
                    member.userName, "member", "M"))
            .from(member)
            .fetch();

    //then
    for (String userName : result) {
        System.out.println("userName = " + userName);
    }
}

/**
 * 소문자(lower)로 변경해서 비교
 */
@Test
void sqlFunction2() {
    //given

    //when
    List<String> result = jpaQueryFactory
            .select(member.userName)
            .from(member)
	          .where(member.userName.eq(
		             Expressions.stringTemplate("function('lower', {0})", member.userName)))
            .fetch();

    //then
    for (String userName : result) {
        System.out.println("userName = " + userName);
    }

}