변환형 함수
122
작성한 질문수 17
안녕하세요.
궁금한 사항이 있어서 질문드립니다.
문자형을 숫자형으로, 날짜를 문자형 등 바꾸는 이유가 있나요?
그리고 오라클에서도 cast(20 as varchar2(10)
로 되는데 잘 안쓰여서 그런건가요?
답변 2
2
안녕하세요.
문자형을 숫자형으로 바꾸는 경우는 꽤 빈번하게 일어나는 편입니다.
원칙적으로는 숫자형으로 바꿔야 숫자 함수에 넣거나 숫자 연산을 하기 위해선 형 변환을 해야 하기 때문이죠. 그렇지 않아도 암시적 형 변환(implicit type casting)으로 연산을 해주긴 합니다.
예를 들면 아래와 같은 것들도 연산이 잘 됩니다.
SELECT '-123' + 50 FROM DUAL;-- 결과: -73하지만 예상치 못한 결과나 오류, 성능 저하를 유발할 수 있어서 조심해야 합니다.
날짜를 문자형으로 바꾸는 경우도 자주 사용하는 편입니다.
날짜를 포매팅한 문자열로 바꿔서 필요한 부분만큼 잘라서 사용하는 경우(GROUP BY 해서 통계 낼 때 자주 사용했습니다.), 문자열로 비교하거나, 원하는 형태로 날짜를 출력하고 싶은 경우(3월 28일 (목))가 있을거에요.
CAST 함수는 형 변환을 하는 SQL 표준 함수입니다. SQL-92 이후에 표준화 됐어요. 오라클도 1999년에 출시한 8i부터 CAST 함수를 공식적으로 지원하기 시작했습니다.
하지만 오라클 사용자들은 CAST 함수보다 TO 함수를 더 선호하긴 합니다. 이건 아마 관성 때문인 것 같아요. 쓰던거 계속 쓰고 싶은거죠. CAST 보다 TO 함수가 간결하기도 하고요. 게다가 경우 날짜 변환의 경우 TO_DATE 함수는 한번에 형식까지 지정할 수 있는 반면 CAST 함수는 포맷 지정이 안된다는 약점이 있습니다.
궁금증이 해결 안되셨거나 또 궁금한게 있으시면 질문해주세요!
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. 장지영님.
데이터베이스에서 데이터 형 변환은 매우 중요한 역할을 합니다. 주로 사용되는 이유는 다음과 같습니다:
호환성: 서로 다른 데이터 타입을 갖는 데이터를 비교하거나 연산하기 위해 같은 타입으로 변환해야 합니다. 예를 들어, 문자열을 숫자로 변환하여 숫자 연산을 수행할 수 있습니다.
형식 일치: 데이터 조회 시 사용자의 요구 사항에 맞게 데이터 형식을 변경해야 할 경우가 있습니다. 예를 들면, 날짜 데이터를 특정 포맷의 문자열로 변환해 표시할 때 사용합니다.
데이터 정규화: 잘못된 타입의 데이터를 올바른 타입으로 변경하여 데이터 정합성을 유지합니다. 예를 들어, 숫자로 저장된 날짜 데이터를 실제 날짜 타입으로 변환할 수 있습니다.
Oracle에서 CAST 함수를 사용하여 데이터 타입을 명시적으로 변경할 수 있습니다. 예를 들면 CAST(20 AS VARCHAR2(10))와 같이 사용할 수 있지만, 실제 오라클 개발 현장에서는 TO_CHAR, TO_NUMBER, TO_DATE와 같은 함수를 더 자주 사용합니다. 이러한 함수들은 각 데이터 타입에 대해 최적화된 변환을 제공하고, 특정 형식 옵션을 추가로 지원하기 때문입니다.
관련 주제를 더 알아보고 싶으시다면 아래의 질문을 참고하실 수 있습니다:
- CAST 함수와 데이터 형 변환에 대한 이해: 데이터베이스에서의 데이터 형 변환과 관련하여 다른 수강생의 질문과 답변을 통해 추가적인 이해를 도울 수 있습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
실습소실행안되요
0
33
1
제공된 홈페이지 로그인 ,출력값, 건의사항 오류
1
44
1
로그인이 안되네요
0
31
1
Intersect로 봄학기에 등록된 수업 검색 영상에서 궁금한 점이 있습니다.
0
45
2
오타가 있는거같습니다.
0
63
2
28번 커리큘럼 제목 오타 있어요.
0
55
1
노랭이 책에서 시험범위는 과목1,과목2 만 인가요? 과목3은 해당하지 않나요?
0
365
2
환경설정 SSO KeyStore not Available 오류
0
83
2
SSO KeyStore not available
0
78
2
group sets(col1)
0
111
2
1/24/60 은 분을 의미하는거죠?
1
104
2
윈도우 환경설정 오류 도움 요청드립니다~
0
71
1
SQL Server 사용 질문
0
104
2
노랭이문제분석 경로 - 페이지 없음 확인
0
89
2
학생, 등록, 수업 데이터세트 로드 오류
0
107
2
ERD 그리기?
0
86
2
강의내용이랑 책페이지, 문제번호롱 아예달라요 ...
0
118
3
sales 데이터 모델 오류
0
76
2
mac sql server 연결
0
78
1
커리큘럼 116번 오류 질문입니당
0
51
0
환경설정 오류 Invalid connection string format, a valid format is: "host:port:sid"
0
157
2
환경설정오류 Invalid connection string format, a valid format is: "host:port:sid"
0
144
1
노랭이 책 필수 인가요?
0
156
2
Dbeaver 설정이 안되요
0
126
3





