백엔드 개발 PHP 튜토리얼 SQL의 숫자 형식 지정 예 공유

SQL의 숫자 형식 지정 예 공유

Jun 28, 2017 pm 03:41 PM
무엇 숫자 체재

SQL 문을 사용하여 이중 데이터 형식을 지정합니다. 예를 들어 소수점 이하 두 자리만 빼냅니다.
1. 주요 방법

--반올림을 고려하지 않고 소수점 이하 자릿수를 취합니다.
select left('30000.72234', charindex('.', '30000.72234')-1)
where: charindex('.', '30000.72234 ')가 얻어집니다. 소수점 위치는 -1은 소수점 이하의 모든 것을 의미합니다. 소수점 이하의 n을 얻으려면 +n을 쓰면 됩니다. 꽤 유용합니다.

--세 자리마다 쉼표로 구분하고 소수점 이하 2자리를 남겨두고 반올림을 고려하지 마세요.
select Convert(varchar,cast(round(30000.72234,0) as Money), 1)

--세 자리마다 구분 쉼표 포함, 소수 자릿수 없음, 반올림을 고려하십시오.
select left(convert(varchar,cast(round(30000.72234,0) as Money), 1) , charindex('.', Convert(varchar, Cast(round(30000.72234,0) ) 돈으로 ), 1))-1)


둘. CAST와 ROUND
1.
SELECT CAST(10진수 '123.456')를 비교하면 123이 됩니다(소수점은 생략됩니다).
소수점 두 자리를 구하고 싶다면.
위 내용을
SELECT CAST(10진수로 '123.456'(38, 2))

===>123.46
자동으로 반올림됩니다!

2.
SELECT ROUND(123.75633, 2, 1),
ROUND(123.75633, 2)
위 SQL에서 얻은 두 값은 전자가 123.75000이고 후자가 123.76000입니다. .
전자는 반올림 전 소수점 이하를 잘려 2자리만 남겨두었기 때문입니다.
후자는 반올림하면 자연스럽게 123.76000


을 얻게 됩니다. 질문: Oracle 데이터베이스에서 쿼리된 값의 비율을 계산해야 합니다. 다음과 유사한 SQL:
Select Round((할인/금액),2) from double;

이러한 방식으로 계산된 숫자는 대부분의 요구를 충족할 수 있습니다. 그러나 1보다 작은 숫자의 경우 문제가 발생합니다. .45와 유사한 데이터가 표시됩니다. 0.45 앞의 0은 사라졌습니다.

다음은 0 누락 문제를 해결하는 두 가지 방법을 요약한 것입니다.

첫 번째 해결 방법:
SELECT DECODE (TRUNC (1/100),0, REPLACE (1/100, '.', '0.'),TO_CHAR (1/100))
FROM DUAL;

당신만 1/100을 필요한 비율로 바꿔야 합니다.

두 번째 해결 방법:
SELECT RTrim(To_Char(1/100,'FM99999999990.9999'),'.') FROM Dual;

교체 방법은 위와 동일합니다.

두 가지 방법의 자세한 비교:

첫 번째 공식은 더 복잡하지만 보편적인 값을 처리할 수 있습니다.

두 번째는 간단해 보이지만 서식이 지정된 값의 자릿수가 계산의 자릿수보다 커야 합니다. 예를 들어 SELECT RTrim(To_Char(200,'FM90.9999'),'.') FROM double; 표시된 값은 서식 범위를 초과했기 때문에 ########입니다.

---------

테이블 tb에서 필드 a의 값이 0.4286인 것을 발견했습니다. 이를 42.9%의 백분율로 어떻게 변환할 수 있습니까? (소수점 유지) 소수점 한 자리)
예를 들어
select a from tb
0.4286
내가 얻고 싶은 결과는
42.9%

SQL 코드

selectcast(cast(a*100 as 십진수( 18,1)) varchar로) + tb


의 '%'

위 내용은 SQL의 숫자 형식 지정 예 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

dos 명령을 사용하여 C 드라이브를 포맷하는 방법 dos 명령을 사용하여 C 드라이브를 포맷하는 방법 Feb 19, 2024 pm 04:23 PM

dos 명령을 사용하여 C 드라이브를 포맷하는 방법

컴퓨터 포맷 튜토리얼 컴퓨터 포맷 튜토리얼 Jan 08, 2024 am 08:21 AM

컴퓨터 포맷 튜토리얼

노트북을 포맷하면 속도가 빨라지나요? 노트북을 포맷하면 속도가 빨라지나요? Feb 12, 2024 pm 11:54 PM

노트북을 포맷하면 속도가 빨라지나요?

음악 학생에게 적합한 태블릿 선택 음악 학생에게 적합한 태블릿 선택 Jan 10, 2024 pm 10:09 PM

음악 학생에게 적합한 태블릿 선택

공개된 휴대폰 포맷 복구 방법의 비밀 (휴대폰 고장? 걱정하지 마세요) 공개된 휴대폰 포맷 복구 방법의 비밀 (휴대폰 고장? 걱정하지 마세요) May 04, 2024 pm 06:01 PM

공개된 휴대폰 포맷 복구 방법의 비밀 (휴대폰 고장? 걱정하지 마세요)

코타나의 기능은 무엇입니까? 코타나의 기능은 무엇입니까? Jan 15, 2024 pm 10:15 PM

코타나의 기능은 무엇입니까?

HTML 형식화 방법은 무엇입니까? HTML 형식화 방법은 무엇입니까? Mar 08, 2024 am 09:53 AM

HTML 형식화 방법은 무엇입니까?

i34150 및 1G 독립 그래픽으로 플레이하기에 적합한 게임은 무엇입니까(i34150에 적합한 게임은 무엇입니까) i34150 및 1G 독립 그래픽으로 플레이하기에 적합한 게임은 무엇입니까(i34150에 적합한 게임은 무엇입니까) Jan 05, 2024 pm 08:24 PM

i34150 및 1G 독립 그래픽으로 플레이하기에 적합한 게임은 무엇입니까(i34150에 적합한 게임은 무엇입니까)

See all articles