728x90
반응형
tNum은 문자형(as string)
tNum는 숫자가 들어가 있습니다.('2','5 ','12','4 0',' 13'...)
select to_number(tNum) from dual order by to_number(tNum)
-> tNum의 문자로 선언된 숫자를 숫자형으로 변환하여 정렬합니다.
문장 수행 오류
to_number를 사용했는데 왜 않될까요? 데이타에 공백이 포함되어 있는 정보가 있을 수 있습니다.
숫자만 있으면 다행이지만 문자형이라 프로그램에서 Insert하는 내용에 따라 공백이 저장될
가능성도 있습니다.
숫자가 저장 된 것처럼 보이지만 '5 ',' 13', '4 0' 처럼 말이죠
보통의 경우는 원하는 결과가 나옵나다.
그러나 결과가 원하는대로 나오지 않을 경우는 공백의 치환이 필요하니 기억하시기 바랍니다.
-> tNum의 문자로 선언된 숫자를 숫자형으로 변환하여 정렬합니다.
문장 수행 오류
to_number를 사용했는데 왜 않될까요? 데이타에 공백이 포함되어 있는 정보가 있을 수 있습니다.
숫자만 있으면 다행이지만 문자형이라 프로그램에서 Insert하는 내용에 따라 공백이 저장될
가능성도 있습니다.
숫자가 저장 된 것처럼 보이지만 '5 ',' 13', '4 0' 처럼 말이죠
보통의 경우는 원하는 결과가 나옵나다.
그러나 결과가 원하는대로 나오지 않을 경우는 공백의 치환이 필요하니 기억하시기 바랍니다.
select to_number(replace(tNum,' ' ,'')) from dual order by to_number(replace(tNum,' ' ,''))
-> replace문을 이용하시면 원하는 결과가 나옵니다.
2
5
12
13
40
-> replace문을 이용하시면 원하는 결과가 나옵니다.
2
5
12
13
40
728x90
반응형
아~ 요런 프로그램은 너무 어려워용 ㅋㅋ
답글
미안해용 쥬니어는 잘크죠
안녕하세요. 좋은 글 잘 봤습니다.
제가 오라클을 잘 모르긴 한데 아래처럼 간단히 작성해도 동일한 결과가 나올 것 같은데요...
답으로 제시하신 예제는 index search가 안되기 때문에 레코드가 많을 경우 성능에 문제가 있을 것으로 생각됩니다.
검토를 부탁 드립니다.
select to_number(trim(tNum)) from dual order by tNum
답글
네 좋은 의견 감사합니다.
숫자가 4 0 이렇게 사이에 공백이 있는 경우도 감안했어요
앗... 그렇군요...
제가 공백을 미처 못 보았습니다...ㅎㅎ
감사합니다... ^_^
감사합니다. 좋은 인연으로 오래 기억되었으면 좋겠군요
이게 뭔가? 유심히 보고 있는데
아직도 이해 못 하고 있습니다~^^
답글
숫자를 정렬하려고 할때 숫자가 1 0(1공백0)이렇게 생성된 데이타의 정렬방법입니다.
에고... 넘 어러버요~
베이직, 코볼, 포트란 세대라.....^^;;
답글
저도요.. 예전에 포트란으로 132Col연속용지에
몇장을 연결해서 그림도 그렸었는데...
오...포트란으로 그림을......=> 유윈^^
행복한 하루 되세요
답글
쑥쓰..