티스토리 뷰

DATABASE/MSSQL

MSSQL 문자열 자르기

publepuble 2019. 3. 8. 17:30

요번 프로젝트에서 DB 컬럼중에 연,월,일 각자 다른 컬럼으로 가져와야하는 요청이 있었는데 컬럼은 연,월,일 세개의 데이터가 한컬럼으로 들어가 있는 상황에서 DB에서 가져올때 잘라서 가져오는게 편할것 같아서 자름!


LEFT


LEFT 함수는 문자열을 받아서 왼쪽부터 원하는 길이만큼 자르는 함수이다. 주로 이름에서는 '성' 날짜에서는 '연도'등에 쓰면 괜찮을꺼 같다.

LEFT('문자를 쪼갤 컬럼명','짜를 개수')


ex) 컬럼명이  REGDATE 이고 값이 2019-03-08 이렇게 있다는 가정하에 LEFT 함수를 실행하면

LEFT(REGDATE,4) AS 'YEAR' 이라고 뽑아주면 REGDATE에서 앞에서 부터 4자리만 자른 값이 YEAR 이라는 컬럼으로 들어가게 된다.

YEAR에 2019가 출력된다.  


RIGHT 


RIGHT 함수는 문자열을 받아서 오른쪽부터 원하는 길이만큼 자르는 함수이다. 주로 이름에서는 '이름' 날짜에서는 '일 or 시간'등에 쓰면 괜찮을꺼 같다.

RIGHT('문자를 쪼갤 컬럼명','짜를 개수')


ex) 컬럼명이  REGDATE 이고 값이 2019-03-08 이렇게 있다는 가정하에 RIGHT 함수를 실행하면

     RIGHT(REGDATE,2) AS 'DAY' 라고 뽑아주면 REGDATE에서 뒤에서 부터 2자리만 자른 값이 DAY 라는 컬럼으로 들어가게 된다.  

     DAY에 08이 출력!


SUBSTRING


중간에 있는 데이터를 자를때는 SUBSTRING이 효율적인거 같다.

SUBSTRING('문자를 쪼갤 컬럼명',왼쪽부터 자리순서,짜를 개수)


ex) 컬럼명이  REGDATE 이고 값이 2019-03-08 이렇게 있다는 가정하에 SUBSTRING 함수를 실행하면

     SUBSTRING(REGDATE,6,2) AS 'MONTH' 라고 뽑아주면 REGDATE에서 앞에서 부터 6자부터 2자리만 자른 값이 MONTH 라는 컬럼         으로 들어가게 된다.  

    MONTH 에  03이 출력!


반응형

'DATABASE > MSSQL' 카테고리의 다른 글

데이터 중복제거  (0) 2018.12.05
WHERE 1 = 1 을 하는 이유  (0) 2018.12.05
MS SQL 다국어 처리  (0) 2018.12.05
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/11   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30
글 보관함