Develope/교육

[Oracle] 교육 2일차 - 형변환

고로이 2018. 10. 1. 14:56
반응형

생각보다 교육이 빡세다 ㅠ_ㅠ

내용 진짜 많아


전공자 아니면 조금 힘들꺼 같음




숫자 연산 : +, -, *, /

날짜 연산 : +, -


문자와 숫자가 함께 쓰일 시 : 문자 -> 숫자 / 날짜

but ||<< concat 과 같은 연결연산의 경우 문자와 숫자를 함께쓰면 모두 문자로 인식  



- to_number(String) :  char => NUM

- to_date(String)      :  char => DATE

- to_char(date, 'FORMAT') :  NUM/DATE => char






- to_number

YYYY      숫자로 된 전체 연도

YEAR      영어 철자로 표기된 연도

MONTH  전체 월 이름

MM       월의 2자리 값

MON      월의 3자 약어

DD         숫자 형식의 월간 일

DY         3문자로 된 요일 약어

DAY       요일의 전체 이름



to_char 는 where절에 쓰엿을 떄와 select와 쓰여질 때 목적이 다르다.??

select ; 숫자, 날짜의 기본 표시방법과는 다른 방법으로 표기


-to_date

AM 또는 PM            자오선 표시

A.M. 또는P.M.          마침표가 있는 자오선 표시

HH 또는 HH12 또는  HH24 하루 시간 또는 반일 시간(1–12) 또는 전일 시간(0–23)

MI                        분(0–59)

SS                         초(0–59)

SSSSS                   자정 이후의 초(0–86399)


-to_char

select 

,salary*100

,to_char(salary*100,'$999999999')

,to_char(salary*100,'$999,999,999')

,to_char(salary*100,'$099,999,999')

,to_char(salary*100,'L000000000')


     ORIGIN             $9999             $999,999            $099,999                   L0000000   
Steven 2400000    $2400000    $2,400,000 $002,400,000           $002400000
Neena 1700000    $1700000    $1,700,000 $001,700,000           $001700000
Lex         1700000    $1700000    $1,700,000 $001,700,000           $001700000
Alexander 900000     $900000              $900,000 $000,900,000           $000900000
Bruce         600000     $600000              $600,000 $000,600,000           $000600000
David         480000     $480000              $480,000 $000,480,000           $000480000
Valli         480000     $480000              $480,000 $000,480,000           $000480000


- 날짜의 범위 검색

select first_name, hire_date, to_char(hire_date,'yyyy-mm-dd')

from employees

where 1=1

and to_char(hire_date, 'yyyy-mm-dd') = to_char(sysdate, 'yyyy-mm-dd')



select first_name, hire_date, to_char(hire_date,'yyyy-mm-dd')

from employees

where 1=1

and hire_date >= to_date('2018-10-01', 'yyyy-mm-dd')

and hire_date < to_date('2018-10-02', 'yyyy-mm-dd')

;

반응형