Oracle 10g를 사용 중이며 데이터 유형이 varchar2 인 데이터베이스 열 Q1이있는 데이터베이스가 있습니다. 이 열은 주로 float 및 int 값을 포함합니다.오라클에서 문자열을 형식 번호로 변환
값을 가져 오지만 표준 미국 통화 형식의 값 형식을 사용하는 쿼리를 실행하려고합니다. 예를 들어, 값이 3020이면 쿼리는 3,020.00을 반환합니다.
다음을 시도했지만 어느 것도 작동하지 않았습니다.
SELECT TO_CHAR(Q1, '9,999.99') FROM TABLE1;
ORA-01722: invalid number
01722. 00000 - "invalid number"
SELECT TO_CHAR(TO_NUMBER(Q1), '9,999.99') FROM TABLE1;
ORA-01722: invalid number
01722. 00000 - "invalid number"
또한 열 이름 대신 실제 값을 사용하여 시도해 보았습니다. 첫 번째 예제가 작동합니다. - /이 단계 후에
SELECT TO_CHAR('1234', '9,999.99') FROM TABLE1; //returns 1,234.00
, I 되돌아 가서() TO_NUMBER로 포맷 마스크를 추가하는 시도 : 표 1에 의해 (TO_NUMBER (Q1 '9,999.99') '9,999.99')를 SELECT TO_CHAR;
ORA-01722: invalid number
01722. 00000 - "invalid number"
여전히 작동하지 않습니다.
내 열에 대해 이것이 작동하지 않는 이유를 설명 할 수 있습니까? 처음에는 열의 데이터 유형이 number, float 또는 integer가 아니었지만 숫자로 변환 한 후에도 여전히 동일한 오류가 발생했습니다. 어떤 도움이라도 대단히 감사하겠습니다.