출처: https://astrocosmos.tistory.com/202 [ASTROCOSMOS:티스토리] 'SQL 함수' 카테고리의 글 목록 (2 Page) :: 하나둘셋넷
728x90

문자열 관련 함수

 

LENGTH - 문자열 바이트 수 반환

SELECT vacation_id, emp_id, begin_date, reason,
                   LENGH(reason) As reason_len

    FROM vacation;

 

CHAR_LENGTH - 글자수 반환

SELECT vacaction_id, emp_id, begin_date, reason
    FROM vacation;

 

CONCAT - 연결해주기

SELECT CONCAT('ABC', 'DEF, 'HIF', 'KLMN');

 

응용

SELECT vacation_id, emp_id, begin_date, CONCAT(reason, '(', duration, '일간)')
            AS reason
    FROM vacation;

 

구분자를 넣어서 붙이기

SELECT CONCAT_WS( ',' , 'ABC', 'DEF' ,'HIJ',  'KLMN' );

 

응용

SELECT vacation_id, emp_id, CONCAT_WS( ', ' , begin_data, end_date. reason,
                duration) As info
    FROM vacation;

 

 

ELT() - 나열된 값 중에서 지정한 위치의 값 변환

SELECT emp_name, emp_id, gender, dept_id, hire_date, salary,
             ELT(NTILE(3) OVER(ORDER BY salary DESC), '상', '중', '하') AS grp
        FROM employee
        WHERE retire_date IS NULL AND salary IS NOT NULL;

 

FIELD

- 나열된 값 중에서 지정한 값이 있는 위치 반환, 없으면 0 반환

SELECT emp_name, emp_id, dept_id, hire_date, salary
            FROM employee
            WHERE dept_id IN ('MKT', 'SYS', 'HRD')
            ORDER BY FIELD(dept_id, 'MKT', 'HRD', 'SYS');

: 'MKT'는 1, 'HRD'는 2, 'SYS'는 3으로 간주

 

 

728x90

+ Recent posts