본문 바로가기
데이터베이스/SQL

SQL REPLACE, LPAD, RPAD, TRIM(R, L), ROUND, TRUNC, MOD, FLOOR

by ADELA_J 2023. 9. 21.

<REPLACE>

- 월급을 출력할 때 숫자 0 을 * 로 출력해보기

▶ REPLACE 는 특정 철자를 다른 철자로 변경하는 문자 함수

▶ REGEXP_REPLACE 는 정규식 함수. 검색 패턴으로 검색해서 바꿀 수 있게 해줌 

 

**** 새로운 예제 만들기 ****

- 이름의 두 번째 자리의 한글을 * 로 출력하기

▶ substr 은 문자를 원하는 위치에서부터 추출임..! 자세한건 여기 https://dev-adela.tistory.com/249

 

<LPAD, RPAD>

- 월급 커럼의 자릿수를 10자리로 하고, 월급 출력하고 나머지 자리에 *(별)을 채워서 출력

▶ LPAD : Left으로 PAD 한다. 왼쪽으로 채워넣다. 나머지 자리 앞에서부터 채워넣음

▶ RPAD : right으로 pad 한다. 오른쪽으로 채워넣다. 끝에서부터 채워넣음

▶ 월급을 시각화해서 출력해봄

▶ round(sal/100)이 16이라면 전체 16자리를 확보하고 첫번째에 ㅁ 넣고 나머지자리에도 ㅁ를 채워넣음

▷ 시각화하기 유용한 함수

 

<TRIM, RTRIM, LTRIM>

▶ LTRIM은 왼쪽 철자인 s를 잘라 출력

▶ RTRIM은 오른쪽 철자인 h를 잘라 출력

▶ TRIM은 양쪽의 s를 잘라 출력

 

*** 예제를 위해 JACK 사원 데이터에 공백을 하나 넣어서 입력

▷ JACK을 조회해보면 나오지 않지 왜냐면 공백이 끼었기 때문에

▼ 그런데 항상 조회할때 이름을 조회하지 공백까지 조회하는 경우는 잘 없기 때문에 공백을 잘라서 조회해보자

 

**** 그리고 이제 입력한 jack 데이터 삭제

<ROUND>

▶ round 는 반올림해주는 친구. 

 ▷ 음수도 작성가능한데 (-1,-2 등등) , 소수점 이전의 자리에서 반올림함. 

 ▷ 0의 자리는 소수점 자리고 0의 자리를 기준으로 두고 소수점 이후 첫번째 자리에서 반올림함.

 ▷ ROUND(876.567,0)  == ROUND(876.567)

 

<TRUNC>

▶ TRUNC는 버림! 위처럼 적으면 2번째 자리부터 다 버림

▷ 음수로 작성하게되면 소수점 이전의 자리에서 버리고 다 0이 됨

▷ 0은 소수점 이후를 전부 버리고 출력

 

<MOD>

▶ 나눈 나머지 값 출력할 수 있음

 

- 사원번호가 홀수이면 1, 짝수면 0을 출력하는 쿼리

- 사원번호가 짝수인 사원들의 사원번호, 이름을 출력하는 쿼리

<FLOOR>

- 10을 3으로 나눈 몫을 출력하는 쿼리

3.3333 이 값인데, FLOOR는 3과 4 사이의 최저인(제일 바닥인) 3을 출력