IBM의 DB2 데이터베이스 관리 소프트웨어는 SQL (Structured Query Language)을 사용하여 데이터베이스 구조를 생성 및 관리하고 그 안의 정보를 업데이트합니다. SQL은 데이터베이스 데이터에 대한 세부 분석을 수행하기위한 수학 함수를 포함하는 산업 표준 프로그래밍 언어입니다. SQL을 사용하면 데이터베이스 테이블의 각 레코드, 레코드 그룹 및 테이블 합계에 대한 백분율을 쉽게 계산할 수 있습니다.
SELECT 문
DB2의 SQL은 SELECT 문을 사용하여 데이터베이스 정보에서 보고서를 생성합니다. 명령문의 기본 구문은 SELECT라는 단어와 필드 목록, 테이블 이름 및 데이터 테스트 및 정렬을위한 WHERE 및 ORDER BY와 같은 선택적 절입니다. 필드는 테이블에서 직접 가져 오거나 테이블 필드를 기반으로 계산 된 값일 수 있습니다. 예를 들어, 제품 코드, 설명, 가격 및 수량을 포함하여 주문 테이블의 내용을 나열하고 가격에 수량을 곱하여 합계를 얻을 수 있습니다.
단순 분할
DB2 SELECT 문에서 가장 간단한 백분율 형식은 한 필드를 100으로 곱한 다음 합계로 나누어 백분율을 얻습니다. 예를 들어, 다음 SQL은 고객 이름, 주문, 품목 총액 및 총 주문 비율을 나열합니다.
SELECT name, order_number, item_total, item_total * 100 / order_total AS 백분율 FROM order_table;
정수 필드를 기반으로 백분율을 계산하는 경우 첫 번째 항목에 100을 곱하면 후속 나누기가 의미있는 백분율을 반환합니다. 대신 정수를 더 큰 정수로 나누고 결과에 100을 곱하면 SQL은 0을 반환합니다.
소수 함수
DB2의 SQL 버전에는 DECIMAL이라는 수학 함수가 있습니다. 백분율 함수와 함께 사용하면 DECIMAL은 결과의 소수 자릿수를 제어합니다. 다음 SQL SELECT 문은 백분율 계산에서 DECIMAL의 사용을 보여줍니다.
SELECT name, order_number, DECIMAL (item_total, item_total * 100.0 / order_total, 5,2) AS percent, order_total FROM order_table;
DECIMAL 함수에는 숫자 또는 계산 된 값, 정밀도를위한 자릿수 및 소수 뒤의 자릿수의 세 가지 인수가 있습니다. 여기서 정밀도는 5이고 소수점 뒤의 자릿수는 2입니다. 이 SELECT 문은 56.05 또는 199.10과 같이 총 5 자리와 소수점 2 자리가있는 숫자로 백분율을 생성합니다.
사용자 정의 함수
백분율이 발생하는 자주 사용되는 복잡한 계산의 경우 UDF 또는 사용자 정의 함수 사용을 고려하십시오. DB2는 UDF를 객체로 저장하므로 필드, 테이블 및 기타 객체와 함께 데이터베이스의 일부가됩니다. CREATE FUNCTION 문과 다른 SQL 문은 데이터베이스에 함수 항목을 기록합니다. SELECT 문에서 복잡한 계산을 반복하는 대신 함수를 참조하여 프로그래밍을 더 간단하고 안정적으로 만들 수 있습니다.