본문 바로가기

반응형

db/oracle

(45)
Oracle 카멜 변환 INITCAP Oracle 카멜 INITCAP INITCAP 함수 INITCAP 함수는 문자열의 각 단어의 첫 글자만 대문자로 변환하고 나머지는 소문자로 변환합니다.SELECT INITCAP(column_name) FROM table_name;이 쿼리는 table_name 테이블의 column_name 열의 모든 값을 각 단어의 첫 글자만 대문자로 변환하여 조회합니다.  SELECT INITCAP('COLUMN_NAME') FROM DUAL;이 쿼리는 결과는 'Column_Name'으로 출력됩니다. SELECT INITCAP('COLUMN NAME') FROM DUAL;이 쿼리는 결과는 'Column Name'으로 출력됩니다. SELECT REPLACE(INITCAP('COLUMN_NAME_AAA'),'_','') F..
Oracle 대문자 변경, 소문자 변경 Oracle 대소문자 변경 (UPPER, LOWER)오라클에서 대문자 변환을 조회하는 방법은 다음과 같습니다. UPPER 함수 사용UPPER 함수는 문자열을 대문자로 변환합니다.SELECT UPPER(column_name) FROM table_name WHERE UPPER(column_name) = UPPER('Abc');이 쿼리는 table_name 테이블의 column_name 열의 모든 값을 대문자로 변환하여 조회합니다.  LOWER 함수 사용 LOWER 함수는 문자열을 소문자로 변환합니다.SELECT LOWER(column_name) FROM table_name WHERE LOWER(column_name) = LOWER('Abc');이 쿼리는 table_name 테이블의 column_name 열..
[Oracle] NUMBER 데이터 타입 Oracle NUMBER 데이터 타입오라클 NUMBER오라클 NUMBER 데이터 타입은 정수뿐만 아니라 소수점 이하 값을 포함하는 실수도 저장할 수 있습니다. NUMBER 타입은 다음과 같이 정의됩니다. NUMBER(p, s) p : 정밀도(precision) - 전체 자릿수 (소수점 포함) s : 스케일(scale) - 소수점 이하 자릿수NUMBER 타입의 특징NUMBER 타입은 가변 길이 숫자 데이터 타입을 지원합니다. 정밀도와 스케일을 지정하지 않으면 최대 정밀도와 스케일로 저장됩니다. 소수점 이하 자릿수를 지정하면 지정된 자릿수까지 저장되고, 나머지는 반올림됩니다. 예시NUMBER(5, 2) : 전체 5자리, 소수점 이하 2자리 (예: 123.45) NUMBER(3) : 정수 3자리까지 저장(예:..
oracle 리스트 프로시저 생성 및 실행 oracle 리스트 프로시저 생성 및 실행오라클 프로시저 생성create or replace PROCEDURE SELECT_EMP ( P_EMPNO IN VARCHAR2, -- 조건값 P_CURSOR OUT SYS_REFCURSOR -- 리스트 출력) ISBEGIN OPEN P_CURSOR FOR select * from EMPLOYEES where EMPNO = P_EMPNO;END; ※ 프로시저 호출 한 가지 방법으로 에러가 발생하여 여러 가지 방법으로 작성했습니다.프로시저 호출 #1SET SERVEROUTPUT ON;VAR v_cursor REFCURSOR;EXEC SELECT_EMP('123', :v_cursor);PRINT v_cursor;프로시저 호출 #2SET SERV..
oracle 프로시저 생성 및 실행 오라클 프로시저 생성 및 실행테이블 생성컬럼 2개짜리 테이블을 생성CREATE TABLE EMPLOYEES ( EMPLOYEE_ID NUMBER PRIMARY KEY, FIRST_NAME VARCHAR2(20) NULL);프로시저 생성간단한 insert 프로시저 생성create or replace PROCEDURE INSERT_EMP ( P_EMPNO IN VARCHAR2, P_ENAME IN VARCHAR2) ISBEGIN BEGIN INSERT INTO EMPLOYEES (EMPLOYEE_ID, FIRST_NAME) VALUES (P_EMPNO, P_ENAME); COMMIT; END;END;프로시저 실행오라클 툴에서 실행 exec..
oracle duration time 함수 오라클 duration time 함수oracle duration time 함수CREATE OR REPLACE FUNCTION fn_duration_time(p_text TIMESTAMP)RETURN NUMBERASBEGIN BEGIN RETURN ROUND(EXTRACT(SECOND FROM (SYSDATE - p_text))); EXCEPTION WHEN OTHERS THEN RETURN NULL; END;END;이 함수의 주요 목적은 두 시점 사이의 경과 시간을 초 단위로 계산하는 것입니다.  예를 들어, 어떤 이벤트가 발생한 시간(p_text)과 현재 시간 사이의 경과 시간을 알고 싶을 때 이 함수를 사용할 수 있습니다.  이 함수는 시간 간격을 초 단위로 정밀하게 계산하고..
oracle TO_TIMESTAMP 유연성과 안정성 oracle TO_TIMESTAMP 유연성오라클 TO_TIMESTAMP 유연성CREATE OR REPLACE FUNCTION fn_to_timestamp(p_text VARCHAR2)RETURN TIMESTAMPAS v_timestamp TIMESTAMP;BEGIN BEGIN v_timestamp := TO_TIMESTAMP(REGEXP_REPLACE(p_text, '[^0-9]+', ''), 'YYYYMMDDHH24MISSFF3'); RETURN v_timestamp; EXCEPTION WHEN OTHERS THEN RETURN NULL; END;END;유연성 : p_text가 다양한 형식 (예: 2023-10-27 10:30:00, 2023/10/27 10:30:00,..
oracle 문자열 테이블 리스트 만들기 oracle 문자열 테이블 리스트 만들기오라클 문자열 테이블 리스트 만들기실행예제 : SELECT * FROM TABLE(fn_to_table('value1,value2,value3'));Oracle 데이터베이스에서 문자열을 쉼표로 구분하여 분리하고, 분리된 각 값을 테이블 형태로 반환하는 함수 fn_to_table를 정의하는 SQL 스크립트입니다CREATE OR REPLACE TYPE vc_array AS TABLE OF VARCHAR2(4000);/create or replace NONEDITIONABLE FUNCTION fn_to_table(list VARCHAR2)RETURN vc_array PIPELINEDAS v_column_value VARCHAR2(4000);BEGIN FOR i IN ..
oracle 퍼센트 구하기 함수 oracle 퍼센트 구하기 함수요구사항1보다 작은 수, 소수점이 변수로 입력되지 않음퍼센트 계산 시 소수점 2자리까지 출력결과 값이 '%'문자 포함하여 리턴 처리oracle 퍼센트 구하기 함수실행예제 : SELECT  FN_PERCENT(11,121) FROM DUAL;create or replace NONEDITIONABLE FUNCTION FN_PERCENT( v_num1 NUMBER -- 분자 ,v_num2 NUMBER -- 분모) RETURN VARCHAR2 IS -- VARCHAR2 리턴값 v_result VARCHAR2(20); -- 결과 저장 변수BEGIN IF v_num1 함수 설명FN_PERCENT 함수는 두 개의 숫자 (v_num1, v_num2)를 입력받아 백분율..
oracle round 함수 오라클 ROUND 함수오라클 ROUND 함수는 숫자를 지정된 자릿수로 반올림하는 데 사용되는 함수입니다.기본 사용법ROUND(number, [decimals])※ number : 반올림할 숫자 ※   decimals : (선택 사항) 반올림할 소수점 자리수 생략하면 0으로 간주하여 소수점 첫 번째 자리에서 반올림합니다. 양수이면 지정된 소수점 자리수까지 반올림합니다. 음수이면 정수 부분을 반올림합니다. 반환 값지정된 자리수로 반올림된 숫자사용예제SELECT ROUND(123.456) FROM DUAL; -- 결과 : 123SELECT ROUND(123.456, 1) FROM DUAL; -- 결과 : 123.5SELECT ROUND(123.456, 2) FROM DUAL; -- 결과 : 123.46S..

반응형