[ mysql ] 숫자와 문자열을 다루는 함수(TRIM, LTRIM, RTRIM, LPAD, RPAD, INSTR)

JooKit 주킷 2021. 9. 2. 00:15
목차 접기
728x90
반응형

mysql 연습 데이터로 쿼리 작성해보는 사이트로 이동

위 링크로 이동해서 아래 쿼리를 입력해보자.

 

 

 

TRIM 양쪽 공백 제거
LTRIM 왼쪽 공백 제거
RTRIM 오른쪽 공백 제거
LPAD(S, N, P) S가 N글자가 될 때까지 P를 이어붙임
RPAD(S, N, P) S가 N글자가 될 때까지 P를 이어붙임
REPLACE(S, A, B) S중 A를 B로 변경
INSTR(S, s) S중 s의 첫 위치 반환, 없을 시 0을 반환한다.
CAST(A, T) A를 T 자료형으로 변환

 

 

 

예시 1

SELECT 
    CONCAT('|', ' HELLO ', '|'),
    CONCAT('|', TRIM(' HELLO '), '|'),
    CONCAT('|', LTRIM(' HELLO '), '|'),
    CONCAT('|', RTRIM(' HELLO '), '|');

 

 

 

예시 2

SELECT * 
FROM Categories
WHERE CategoryName = TRIM(' Produce ');

사용자가 잘못 입력한 공백을 앞, 뒤 모두 제거해서
정확한 데이터를 출력해준다.

 

 

 

SELECT 
    LPAD('ABC', 5, '-'),
    RPAD('ABC', 5, '-');

출력 : —ABC, ABC—

 

 

 

SELECT
    LPAD(SupplierID, 5, 0),
    RPAD(Price, 6, 0)
FROM Products;

 

 

 

SELECT 
    REPLACE('맥도날드에서 맥도날드 햄버거를 먹었다.', '맥도날드', '버거킹');

출력 : 버거킹에서 버거킹 햄버거를 먹었다.

 

 

 

예시 1

SELECT 
    REPLACE(Description, ', ', ' and ')
FROM Categories;

 

 

 

예시 2 (응용편)

SELECT 
    REPLACE(REPLACE(Description, ', and', ', '), ', ', ' and ')
FROM Categories;


SELECT 
    INSTR('ABCDE', 'ABC'),
    INSTR('ABCDE', 'B'),
    INSTR('ABCDE', 'CDE'),
    INSTR('ABCDE', 'F');

출력 : 1, 2, 3, 0

 

 

 

SELECT *
FROM Customers
WHERE INSTR(CustomerName, ' ') BETWEEN 1 AND 6;

공백이 나타나는 자리가 1과 6 사이에 있는 데이터들을 출력해준다.

 

 

 

SELECT 
    '01' = '1',
    CONVERT('01', DECIMAL) = CONVERT('1', DECIMAL);

출력 : 0, 1
의미 : CONVERT를 사용하면 데이터의 자료형을 바꿀 수 있다.


DECIMAL은 숫자 자료형 중에 자주 쓰이는 한가지이다.

 

1:04:43 시간/날짜 관련 및 기타 함수들 이어서

728x90
반응형
LIST