형 변환 문의 0 2 1,818

by 어흥이 [SQL Query] oracle sql [2018.10.05 13:35:52]


안녕하세요

varchar 타입의 데이터에 덧셈한 결과를 넣는다면 형변환 후 넣는게 낫나요?

update tab
set a =to_char(to_number( b+c))

a=b+c 라고 해도 값은 들어가요

a,b,c 전부 varchar 타입컬럼인데 데이터는 숫자만 들어갑니다.

형변환해서 update 하는것과 그냥 덧셈하는 것의 차이점과 더 나은점을 알려주세요

by 마농 [2018.10.05 13:48:41]

잘못 하셨는데요?
사용 하신 코드 : to_char(to_number( b+c )) 은 내부적으로 또다시 자동 형변환을 동반합니다.
실제 내부 동작 : to_char(to_number( to_char( to_number(b)+to_number(c) ) ))
권고 코드1 : a = to_char(to_number(b) + to_number(c))
권고 코드2 : a = b + c
권고 코드1 은 명시적으로 형변환을 적어준거고요
권고 코드2 는 권고 코드1과 같이 동작할 것입니다.
저는 그냥 권고 코드 2번 쓸거 같네요.


by 우리집아찌 [2018.10.05 15:36:26]

숫자형만 들어가는 컬럼이라면 숫자형 TYPE을 쓰시는게 제일 좋다고 봅니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입