concat() 함수는 여러 문자열을 결합해서 하나를 만든다 위에 처럼 외국인은 퍼스트내임과 라스트 네임이 있어서 풀네임으로 조회하고 싶을때에는 conact()함수를 써서 합칠 수 있다
select (가저오다) title(에서), concat(합쳐라)(author_fname," ", author_lname)full_name
위에 " " 를 쓴부분은 풀네임이라해도 퍼스트네임과 라스트 네임을 구분 할 수있게 끔 공백을 만들어 달라고 한것이고
full_name 이라고 쓴것은 조회를 하면 concat(~) 나오는 것이 너무 길어서 무슨 보기 편하게 바꾼이름을 적은것이다
이렇게 설정하면되는 것이고 위에 사진 처럼 나오려면
select (가저오다) title(에서), concat(합쳐라)(title, ":",author_fname," ", author_lname)full_name
을 추가하면 된다.
subsring() 함수는 일부분을 추출하는 함수인데
책 제목을 10글자만 보여주려할떄 제목 컬럼을 short_title로 조회하기라 했을때
select subsring(title,1,10) as short_title
가져와라 특정부분 타이틀에 부분에서 1번째부터10번째 까지 그리고 그것의 이름을 short_title로 해주세요
라고 쓴것이다
반대로 뒤에서 7버나째글짜부터 끝까지 조회하라하면
select subsring(title,-7) 라고 하면된다
첫 스타트 되는 숫자를 입력하고 마지막 숫자를 입력하는 건데 -를 붙이면 뒤에서라는 말이되는 것이고 그다음에 숫자를 입력하지 않는다면 끝까지라는 말이되기때문에 위와같이 조회가 가능해진다
일상에서 구글링을 할때 대소문자를 섞어 써도 전부를 대/소 문자로만 써도 검색이된다 이는 컴퓨터가 자동으로 변화을 해서 찾기 때문이다 이와 관련된 함수는 upper()(대문자변환),lower()(소문자변환) 이다.
위에는 대문자 변환 함수를 이용한 실습이다
위에 이름을 바꿔 조회하고 싶으면 컬럼이름 옆에 as를 붙인 다음 원하는 이름명을쓰면된다 그리고 다른 것도 변경을 원한다면 ,을 쓰고 반복해서 쓰면된다.
replace() 함수는 다른 문자로 대체하는 함수인다
책제목에 The 가있으면 Hello 로 바꿔 가져오자라고 했을 경우
select title, replace(title,"The","Hello")
가져와라 테이블에서 다른 문자열로 대체한 상태에서 근데 그게 타이틀에서 The를 Hello로 바꾼 상태인걸로
라는 뜻이다
replace() 을 쓸때 특정부분을 없애고 싶다면 위와같이 공백없는 '' 표시를 해주면된다
char_lenhth()는 문자길이를 알려주는 함수인데 예를 들면 자소서 2000을 넘지마시오 같은 상황에서 쓰인다
select title, char_length(title)as count
from books;
가져와라 타이틀에서 타이틀의 문자길이를 그리고 그것의 컬럼이름을 count 로 할 것이다
책제목을 처음부터 10글자만 가져오고, 뒷부분에는 ... 을 붙여서 가져오세요
예를들면 The Namesa... 이렇게 나오게
라고 했던 실습문제인데 이부분을 주어진 내용에 맞게 했다 생각했는데 오류가 났었다.
이는 아직 함수에 대한 이해도가 떨어져서 생긴 문제였다.
그리고 오류를 찾고 무엇이 잘못되었는지 이해했다 자세한건 위 사진을 참고하면된다.
'DBeaver > 실습' 카테고리의 다른 글
SQL 함수 (0) | 2024.11.28 |
---|---|
CRUD 문자열 처리 실습 (1) | 2024.11.28 |
SQL언어를 활용한 실습 및 함수 약간 (2) | 2024.11.27 |
select 와 update 를 정확히 쓰는 방법 (2) | 2024.11.27 |
MySQL 테이블의 기본 컬럼 설정 (0) | 2024.11.26 |