평소 제가 존경해 마지않는 마농님의 문제를 가져와 보았습니다.
문제
1 2 3 4 5 6 7 8 9 10 11 12 |
with base (SELECT 123456789012345 amt FROM dual UNION ALL SELECT 29000 FROM dual UNION ALL SELECT 309840 FROM dual) 위의 Base에 있는 숫자값들을 아래와 같이 표현하여 보세요. AMT V --------------- -------------------------------------------------------- 123456789012345 일백이십삼조사천오백육십칠억팔천구백일만이천삼백사십오 29000 이만구천 309840 삼십만구천팔백사십 |
1.문제 풀이
2.풀이 과정
3.결과
About the Author
View all posts by 김지룡● (주)더비소프트 SI&ITO사업부 / ERP사업팀 팀원
● 경력 5년(현 LG전자 GERP DBA/Tuning 업무)
● 경력 5년(현 LG전자 GERP DBA/Tuning 업무)
Related Posts
- [퀴즈] [더비's 퀴즈]시작일과 종료일사이의 주말을 제외한 일수 구하기 14-12-15 일반태그: 퀴즈. DB태그: SQL.
김진규 과장님께서는 PL/SQL로 작성하셨군요 ^^
고수의 향기가 물씬 풍깁니다.
저도 나중에 한번 도전해 보도록 하겠습니다!!
뜨앜, 고수라뇨 ㄷㄷ; 너무 어거지로 짠거 같아요. ㅋ, 코드가 너무 길군요.ㅠㅠ
퇴근 시간이 요즘 늦어, 문득 접속 했다가 풀어 본건데, 코드 올리다가 엔터시 P 태그가 자꾸 들어가서
몇번 다시 올렸네요. 아마도 지룡대리님 메일로 똑같은 메시지가 여러번 왔을 거라는;;
버그 인지는 몰라도 수고 스럽겠지만, 한팀장님께 신고는 해두웠습니다. ^^;;
ㅎㅎ 한팀장님이 또 한번 수고해 주시겠군요 ^^
김진규 과장님이 PL/SQL로 접근해 주셨는데 저는 SQL로 작성해 보았습니다.
현재 한글 수량 표시는 아래와 같다고 하여 아래 내용을 참고 하였습니다.
1. 한글수량표시
숫자는 오라클에서 허용할 수 있는 NUMBER 최대 자리수가 36자까지 허용되어 ‘간’ 부분까지만 표시가 되지만, 일단 ‘극’까지는 로직을 구현했습니다. 참고로 LISTAGG() 함수를 사용하였기 때문에 Oracle 11g 이상에서만 수행이 가능합니다.
2. SQL
–숫자를 한글로 변환 풀이 및 정답
이 문제를 풀기 위해서는 하나의 기준이 필요합니다.
한국의 화폐단위별 자르기 인데요 이를 위해서는 우리나라 화폐의 특성상 4자리씩 끊어야 되지요
4자리 이상이 되면 만 또 4자리위는 억 조 경 해 이렇게 올라가기 때문이죠
여기에 그아래 자리는 십 백 천의 반복이니까요.
–1단계
전 지룡대리님께서 답을 올려주신 관계로 Package(내부 Function 2개)로 구성해봤습니다.