학원수업_Oracle

201016 Oracle 형변환연산자 (CAST, TO_CHAR, TO_NUMBER, TO_DATE)

logloglog 2020. 10. 16. 12:37

1. CAST

- 자료의 타입을 정의한 타입으로 변환

- 형변환은 해당 위치에서만 효과 유지 (영구적X)

 

*사용형식

CAST(expr AS 타입명)

- 'expr' 은 수식, 데이터,컬럼명이 올 수 있음

 

EX

매입단가(숫자. 오른쪽정렬)을

VARCHAR2 인 문자열(왼쪽정렬)로 CAST해줌

 

SELECT  PROD_COST 매입단가,
        CAST(PROD_COST AS VARCHAR2(15))
FROM    PROD
WHERE   PROD_LGU LIKE 'P2%';

2. TO_CHAR

 - 숫자나 날짜, 문자자료를 문자열로 형변환 시킴

 

*사용형식

TO_CHAR(expr[,fmt])

expr는 숫자, 문자, 날짜 자료, 수식이나 컬럼명

fmt(포맷문자열) : 형식지정문자열 (생략가능) 은 문자열로 주로 날짜나 숫자자료를 일정한 형식에 맞춰 변환할 때 사용

fmt는 굉장히 여러종류가 있음 특히 날짜를 변환시켜주는게 많다.

(1) 날짜관련 형식지정 문자열

형식문자열 의미
AD,BC 세기를 나타냄
YYYY,YYY,YY,Y 년도
MONTH,MM(M한번은 안됨),MON,RM
DAY,DD, J
AM,PM,A.M., P.M. 오전/오후
Q 분기
W, WW 주차
W하나면 이번달 3주차, WW를쓰면 1.1부터 현재까지의주차
HH,HH12,HH24 시간 (HH와 HH12는 12시간제라 똑같다)
MI 분은 MM을 못씀 (월이 이미씀) 
SS, SSSSS
S5개는 자정부터 지금까지의 시간을 초로 환산
DL 년 월 일과 요일정보

EX

SELECT TO_CHAR(SYSDATE,'BC YYYY-MM-DD')
FROM DUAL;

 

SELECT  TO_CHAR(SYSDATE, 'YYYY-MM-DD'),
        TO_CHAR(SYSDATE, 'YYY-MONTH-DDD'),
        TO_CHAR(SYSDATE, 'YY-MON-D') 
FROM    DUAL;

 

6: 일월화수목금토 

290은 1월 1일부터  일수

TO_CHAR(SYSDATE, 'YY-RM-J') 

X:로마식 표현방법

 

SELECT TO_CHAR(SYSDATE, 'AM YYYY-MM-DD')FROM DUAL;

AM으로 입력했지만 오후니까 오후라고나옴

 

SELECT TO_CHAR(SYSDATE, 'AM YYYY-MM-DD HH24:MI:SS')FROM DUAL;

SELECT TO_CHAR(SYSDATE, 'AM YYYY-MM-DD HH24:MI:SSSSS')FROM DUAL;                

 

 

사용자 정의 형식지정문자열은 반드시 " " 에 기술

(" " 은 두군데,., 컬럼별칭에 특수문자 들어갔을때, 두번째가 이거!)

SELECT TO_CHAR(SYSDATE, 'AM"시" YYYY-MM-DD HH24:MI:SSSSS')FROM DUAL;

'학원수업_Oracle' 카테고리의 다른 글

201020 Oracle  (0) 2020.10.20
201019 Oracle  (0) 2020.10.19
201016 Oracle  (0) 2020.10.16
201015 Oracle 함수2  (0) 2020.10.15
201014 Oracle 함수 (FUNCTION)  (0) 2020.10.14