select author_fname, author_lname
from books;
라고 할때
f_name과 l_name을 합쳐 Full_name이라는 컬럼을 만들고 싶다
이럴때에는 concat( )을 사용한다
사용법은
select concat(author_fname, author_lname)
from books;
합치고 싶은 컬럼을
concat( )로 묶어주면
이렇게 합쳐진다
하지만
문자열이 다닥다닥 붙어있어 어디까지가
f_name고 l_name인지 구분이 잘 가지않는다
합칠때 공백을 넣어줬으면 좋겠다
이럴때에는
select concat(author_fname, ' ', author_lname)
from books;
사이에 ' '을 넣어 공백을 넣어주자
그러면
이렇게 되는데
컬럼이름이....굉장히 지저분하다 그렇다면?
전에 배운 컬럼 이름 바꾸는 법을 응용하자
select concat(author_fname, ' ', author_lname) as full_name
from books;
as 는 작성하지않아도 되지만
써주도록 하자
concat 말고 concat_ws() 라는 함수도 있다
concat_ws()
select concat_ws(' ', author_fname, author_lname) as full_name
from books;
이 함수는 위의 사이사이에 공백을 넣어주는것과 달리
첫 번째 파라미터가 뒤에 파라미터들이 합쳐질때마다 들어가게 된다
만약 합치는게 3개 이상이라면 이 편이 도움이 되겠다
기존의 모든것을 보여주면서 지금 만든 이것을 함께 보여주고자 할때는
select *, concat_ws(' ', author_fname, author_lname) as full_name
from books;
이런식으로 * 모든것을 보여주고 , 컴마로 추가하면 되겠다
'MYSQL' 카테고리의 다른 글
MYSQL - 문자열의 내용을 바꾸는 함수 replace( ), 대/소문자 upper( ),lower( ) (0) | 2024.05.13 |
---|---|
MYSQL - 문자열의 일부를 가져오는 substring( ) (0) | 2024.05.13 |
MYSQL - CRUD 3 - 2. update 오류 (0) | 2024.05.13 |
MYSQL - CRUD 3. Update , Delete (0) | 2024.05.13 |
MYSQL - CRUD 2. Read (0) | 2024.05.13 |