반응형
Oracle SQL - 쉼표에 대한 소수점 변경
저는 브라질에 있고, 우리의 통화 형식은 '999,00 R$' 정도입니다.
필드를 선택하고 반환 형식을 변경하려고 합니다.하지만, 저는 그것을 할 수 없을 것 같습니다.시도해 봤습니다.
ALTER SESSION SET NLS_NUMERIC_CHARACTERS = ',.';
그리고.
SELECT to_char(10,'9,999.00', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL
아무 것도 효과가 없었습니다.내 클라이언트(Ubuntu에서 sqdeveloper를 사용하고 있음)인지 아니면 내가 잘못하고 있는지 잘 모르겠습니다.
아이디어 있어요?
사용하다
SELECT to_char(10,'9G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL
G는 수천 개의 구분 기호입니다. D는 소수 구분 기호입니다.
포맷 마스크가 잘못된 것 같습니다.다음 형식 마스크를 사용해 보십시오.
SELECT to_char(10000,'99G990D00', 'NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL
더 큰 숫자에 대해 올바른 숫자의 선두 '9' 형식 마스크를 사용해야 합니다.
문제를 해결한 방법을 해결했습니다.
SELECT TO_CHAR(1000000000,'999G999G999G999D99','NLS_NUMERIC_CHARACTERS = '',.''') FROM DUAL;
숫자의 형식을 수십억으로 지정합니다.도움이 되는 것 같아요.
CREATE OR REPLACE FUNCTION APPS.EX_number_format( ff number) RETURN char IS
xx varchar2(100);
yy varchar2(1);
tt varchar2(100);
x number:=0;
begin
xx:=to_char(ff,'99G990G990G990G990G990D00');
for i in 1..length(xx) loop
yy:=substr(xx,i,1);
if yy in ('1','2','3','4','5','6','7','8','9') then
x:=i;
exit;
end if;
end loop;
tt:=substr(xx,x,length(xx));
return tt;
END EX_number_format;
이중에서 EX_number_format(1000)을 선택합니다;
1,000.00
듀얼에서 EX_number_format(1859684500)을 선택합니다;
1,859,684,500.00
언급URL : https://stackoverflow.com/questions/12974856/oracle-sql-change-decimal-dot-for-a-comma
반응형
'programing' 카테고리의 다른 글
클래스 인스턴스가 아닌 클래스 자체에 대한 사용자 지정 문자열 표현을 선택하려면 어떻게 해야 합니까? (0) | 2023.06.28 |
---|---|
꺼내기 요청에서 커밋을 제거하는 방법 (0) | 2023.06.28 |
SQL Server Management Studio GUI에서 반환한 소스와 동일한 SQL Server 저장 프로시저 소스를 프로그래밍 방식으로 검색하시겠습니까? (0) | 2023.06.28 |
양식 인증: 로그인 페이지로 리디렉션 사용 안 함 (0) | 2023.06.28 |
복제를 위해 GitHub.com 에 연결할 수 없음 (0) | 2023.06.28 |