>  기사  >  데이터 베이스  >  오라클에서 문자 데이터를 숫자 데이터로 변환하는 방법

오라클에서 문자 데이터를 숫자 데이터로 변환하는 방법

PHPz
PHPz원래의
2023-04-17 09:19:415436검색

Oracle 데이터베이스는 매우 널리 사용되는 관계형 데이터베이스 관리 시스템으로 숫자 유형, 문자 유형, 날짜 유형, Blob 유형 등을 포함한 풍부한 데이터 유형을 가지고 있습니다. 실제 응용 프로그램에서는 문자 유형 데이터를 숫자 유형으로 변환해야 하는 경우가 종종 있습니다. 이 기사에서는 Oracle 데이터베이스에서 문자 데이터를 숫자 데이터로 변환하는 방법을 소개합니다.

Oracle 데이터베이스는 정수(INT), 부동 소수점(FLOAT), 배정밀도(DOUBLE) 등을 포함한 여러 숫자 유형을 지원합니다. 문자 데이터를 숫자 데이터로 변환해야 할 경우 Oracle 데이터베이스에 내장된 TO_NUMBER() 함수를 사용하여 이를 달성할 수 있습니다.

TO_NUMBER() 함수의 구문은 다음과 같습니다.

TO_NUMBER(string, [format], [nls_언어])

이 중 string은 변환해야 하는 문자 데이터를 나타내며 format은 해당 형식을 나타냅니다. 선택 사항인 숫자 nls_언어 선택 사항인 로케일을 나타냅니다.

형식 매개변수를 지정하지 않으면 오라클 데이터베이스는 기본적으로 현재 세션의 숫자 형식에 따라 변환을 수행합니다. 문자열에 $, 등의 특수 문자가 포함된 경우 형식 매개변수를 사용하여 변환 규칙을 지정해야 합니다.

예제 1:

먼저 문자 데이터를 저장할 테이블을 만듭니다.

CREATE TABLE test_number (
id NUMBER(10),
data VARCHAR2(50)
);

그런 다음 테이블 데이터에 일부를 삽입합니다.

INSERT INTO test_number (id, data) VALUES (1, '123');
INSERT INTO test_number (id, data) VALUES (2, '45.67');
INSERT INTO test_number (id, data) VALUES ( 3, ' -8.9');
INSERT INTO test_number (id, data) VALUES (4, '$123.456');

다음으로 TO_NUMBER() 함수를 사용하여 문자 데이터를 숫자 데이터로 변환합니다.

SELECT id, TO_NUMBER(data ) AS num FROM test_number;

실행 결과는 다음과 같습니다.

ID NUM
1 123
2 45.67
3 -8.9
4 123.456

예 2:

실제 응용에서는 가능합니다. 문자 데이터를 정수 데이터로 변환합니다. 이 경우 형식 매개변수를 사용하여 변환 규칙을 지정해야 합니다.

예를 들어 학생 성취도 데이터를 저장하는 테이블이 있습니다.

CREATE TABLE test_score (
id NUMBER(10),
name VARCHAR2(50),
Score VARCHAR2(50)
);

Insert some data into 테이블 데이터:

INSERT INTO test_score (id, 이름, 점수) VALUES (1, '张三', '90');
INSERT INTO test_score (id, 이름, 점수) VALUES (2, '李思', '85.5');
INSERT INTO test_score (id, 이름, 점수) VALUES (3, '王五', '78');
INSERT INTO test_score (id, 이름, 점수) VALUES (4, 'Zhao Liu', '60 +');

다음 SQL 문을 사용하여 점수 필드를 정수 데이터로 변환할 수 있습니다.

SELECT id, name, TO_NUMBER(score, '999') AS Score_int FROM test_score;

위 SQL에서 명령문 '999'는 9가 숫자를 나타내는 형식화된 문자열을 나타내며, 숫자가 부족할 경우 앞에 0이 추가됩니다. 따라서 이 명령문은 문자 데이터를 정수 데이터로 변환합니다.

실행 결과는 다음과 같습니다.

ID NAME SCORE_INT
1 Zhang San 90
2 Li Si 85
3 Wang Wu 78
4 Zhao Liu 60

문자열에 숫자가 아닌 문자가 포함된 경우 주의해야 합니다. 그러면 TO_NUM BER( ) 함수는 오류를 반환합니다. 따라서 이 기능을 사용할 때는 변환할 문자열이 숫자의 형식 요구 사항을 충족하는지 확인해야 하며, 그렇지 않으면 데이터 정리를 위해 다른 기능을 사용해야 합니다.

요약:

오라클 데이터베이스는 문자 데이터를 숫자 데이터로 변환할 수 있는 TO_NUMBER() 함수를 제공합니다. 이 함수를 사용할 때 변환 규칙의 사양에 주의하고 변환할 문자열이 숫자의 형식 요구 사항을 충족하는지 확인해야 합니다. 이 기사에서는 두 가지 예를 소개하며 독자들에게 도움이 되기를 바랍니다.

위 내용은 오라클에서 문자 데이터를 숫자 데이터로 변환하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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