오라클 PL/SQL 작성시에는 예상치 못한 다양한 문제가 발생합니다. 이런 오류가 프로시저의 어떤 지점에서 발생했는지 알기 위해서는 PINRT 구문을 사용해서 문자를 출력하면 되는데요. 오늘은 오라클 문자 출력하는 방법인 dbms_output.put_line 구문에 대해서 알아보겠습니다. 오라클 PINRT 출력 시스템 설정프린트 구문의 출력을 하기 위해서는 시스템 세팅을 변경해 줘야 합니다. 명령문을 실행해서 프린트 출력을 ON으로 변경해주세요.
오라클 PINRT 출력텍스트에 문자열을 출력하는 구문은 다음과 같습니다
이상으로 오라클 PL/SQL 프로시저 작성시 발생하는 오류에 대해서 dbms_output.put_line 구문을 사용해서 오류지점을 확인하는 방법에 대해서 알아보았습니다. 문자열을 자르는 함수에 대해 소개하겠습니다. 먼저 설명에 사용될 테이블입니다.
1. Oracle 에서는 SUBSTR 함수를 사용합니다. - SUBSTR( 문자열, 시작 위치, 길이 ) >> 문자열에서 시작 위치부터 길이만큼 출력합니다.
2. MS-SQL 과 MySql에서는 SUBSTRING, LEFT, RIGHT 함수를 사용합니다. - SUBSTRING( 문자열, 시작위치, 길이 ) >> 문자열에서 시작 위치부터 길이만큼 출력합니다. - LEFT( 문자열, 길이 ) >> 문자열에서 왼쪽부터 길이만큼 출력합니다. - RIGHT( 문자열, 길이 ) >> 문자열에서 오른쪽부터 길이만큼 출력합니다.
굉장히 쉽고 간단한 함수입니다. 실제로 엄청 자주사용되고 유용한 함수이니 꼭 잘 익혀두세요! 안녕하세요, 끙정입니다. 오늘은 함수 두 번째 시간으로 문자열 함수에 대해서 알아보겠습니다. 테이블에 저장하는 가장 흔한 타입은 문자열이며 길이나 형식의 제한이 없어 복합적인 정보를 포함할 수 있습니다. 데이터를 능숙하게 다루려면 문자열을 자유자재로 가공, 추출해야 합니다. DBMS는 일상적으로 필요한 모든 함수를 다 제공합니다. 지난번과 같이 함수는 오라클을 기본으로 SQL Server와 MariaDB를 같이 알아보겠습니다. DBMS별로 좌측과 동일하면 '<-'로 표시하고, 우측과 동일하면 '->'로 표시하겠습니다. (MariaDB의 우측은 오라클) 함수가 존재하지 않으면 'X'로 표현하겠습니다.
오라클의 LENGTH 함수는 문자의 개수를 조사합니다. 한글이나 영문이나 모두 한 글자로 취급하기 때문에 'korea대한민국' 문자는 9글자로 되어 있습니다. 바이트 수는 메모리의 길이이며 문자의 종류나 인코딩 방식에 따라 달라지는데, 영문이나 숫자는 1바이트, 한글은 2~3바이트를 차지합니다. 오라클은 한글이 3바이트이기 때문에 17이 나오고, SQL Server와 MariaDB는 2바이트로 13이 나옵니다. 아래는 문자열의 길이가 n인 필드를 출력합니다.
문자 개수를 출력하는 함수는 DBMS마다 이름이 다르고, CHAR 타입의 뒤쪽 공백 포함 여부에도 차이가 있어 주의가 필요합니다. 1) 오라클: LENGTH, 뒤쪽 공백 개수 포함 2) SQL Server: LEN, 뒤쪽 공백 개수 제외 3) MariaDB: CHAR_LENGTH, 뒤쪽 공백 개수 제외 고정 길이 문자열인 CHAR 타입은 항상 뒤쪽에 여유 공백이 있습니다. SQL Server와 MariaDB는 뒤쪽의 공백은 빼고 개수를 세지만 오라클은 뒤쪽 공백의 개수도 포함합니다. VARCHAR 타입은 뒤쪽 공백이 없어 정확하게 글자 수만 조사합니다. CONCAT 함수는 인수로 전달한 두 개의 문자열을 합쳐 하나의 문자열을 리턴합니다.
문자열끼리 연결할 경우가 워낙 많아 함수 외에 별도의 연산자도 제공합니다. 오라클은 두 문자열 사이에 || 연산자를 쓰고 SQL Server는 + 연산자를 씁니다.
문자열 필드 사이에 문자열 상수를 집어넣어 원하는 문장을 만들 수도 있습니다. CONCAT 함수도 중첩해서 사용하면 여러 개의 문자열을 연결할 수 있습니다.
그만 알아보겠습니다. 출처 http://www.yes24.com/Product/Goods/101637633 김상형의 SQL 정복 : 소문난 명강의 (무료특별판) - YES24 DBMS에 제약 없이 SQL을 활용한다!핵심 원리를 알려주는 SQL 바이블 DBMS 제품이나 개발툴이 아닌 SQL 언어 그 자체를 배우는 바이블 도서다. 특정 DBMS에 종속적인 사용법보다는 표준화된 데이터 관리 www.yes24.com |