MySQL 함수란?
데이터베이스에서 계산을 수행하고 데이터를 조작하며 결과를 반환하는 미리 정의된 작업입니다.
함수들은 복잡한 쿼리를 단순화하고 반복적인 작업을 자동화하는 데 도움을 줍니다.
문자열을 순서대로 연결하여 하나의 새로운 문자열을 생성하는 함수 : concat()
fname과 lname을 합쳐서 풀네임으로 조회하고싶다!
SELECT *, concat(author_fname,author_lname)
FROM books b ;
두 컬럼을 그냥 붙이게되서 가독성이 떨어집니다.
Jhumpa Lahiri로 보이면 좋겠어요.

SELECT *, concat(author_fname," ",author_lname)
FROM books b ;
' '로 사이를 띄워줘서 가독성은 올라갔지만
함수이름이 그대로 보이는 컬럼 이름... 가독성이 여전히 떨어집니다.
컬럼이름을 깔끔하게 full_name으로 변경해 가져오도록 해봅시다.
SELECT *, concat(author_fname," ",author_lname) as full_name
FROM books b ;
깔끔하게 full_name 컬럼으로 보여집니다.
SELECT *, concat(author_fname," ",author_lname) full_name
FROM books b ;
as를 생략해도 작동합니다.
SELECT title as orignal_title, author_fname as authoer ,pages, UPPER(title) as title
from books b ;
as를 사용해 여러 컬럼을 각자 다른 이름으로 불러올 수도 있습니다.
"책 제목 : 풀네임" 형식으로 보이는 컬럼(이름은 title_name) 하나만 조회하고 싶다.
예) The Namesake : Jhumpa Lahiri
SELECT concat(title,' : ',author_fname," ", author_lname)as tilte_name
from books b ;
응용문제!
-- 책 제목을 처음부터 10글자만 가져오고, 뒷부분에는 ...을 붙여서 가져오세요.
-- 예) The Namesa...
SELECT title ,concat(substr(title,1,10),'...') as shout_title
FROM books b ;
-- 책 제목이 10자 미만이면 그냥 불러오고, 10자 이상이면 생략후 ...을 붙여서 가져오세요.
SELECT title ,if(CHAR_LENGTH(title)<=10,title, CONCAT(SUBSTR(title,1,10),'...'))as shout_title
from books b ;
-- 해결과정 중 첫 디버그를 만나다
2024.11.27 - [데이터베이스/함수] - MySQL replace() 함수
MySQL replace() 함수
-- 문자열의 내용을 바꾸는 함수 replace()-- 책 제목에 The 가 있으면 Hello로 바꿔서 가져오자. SELECT title, REPLACE (title,'The','Hello')FROM books b ; 더보기 SELECT title, REPLACE(title,SUBSTR(title,11),'...')from
maeilcoding.tistory.com