SQL Server에서 특정 문자를 기준으로 문자열을 자르기 위해 가장 자주 사용하는 방법 CHARINDEX, SUBSTRING, LEFT, RIGHT, 그리고 STRING_SPLIT 함수이다. 이 함수들을 적절히 활용하면 구분자(하이픈 -, 쉼표 ,, 슬래시 / 등)가 포함된 문자열에서 원하는 위치에 따라 앞부분, 뒷부분, 중간 값까지 정확하게 추출할 수 있다. 목차특정 문자 기준으로 문자열을 자르는 방법특정 문자 기준으로 문자열을 행으로 분리하는 방법 특정 문자 기준으로 문자열을 자르는 방법SELECT SUBSTRING('sql-server', 1, CHARINDEX('-', 'sql-server') - 1) AS result CHARINDEX('찾을 문자', '대상 문자열')SUBSTRING('대..
SQL Server에서 특정 문자열을 반복해서 출력하고 싶을 때, 가장 유용하게 사용할 수 있는 방법이 REPLICATE 함수이다. 공백을 여러 번 추가하거나, 특정 문자를 반복해서 포맷을 맞춰야 할 때, 직접 문자열을 여러 번 붙이는 방식은 비효율적이고 가독성도 떨어진다. 이럴 때 REPLICATE 함수를 사용하면 깔끔하게 반복 문자열을 만들 수 있으며, 공백 추가, 패턴 생성, 자릿수 정렬 등 다양한 실무 상황에 활용할 수 있다.목차REPLICATE 함수 기본 사용법REPLICATE 함수 활용 방법REPLICATE 함수 기본 사용법SELECT REPLICATE('A', 2) AS result1 , REPLICATE('A', 5) AS result2 , REPLICATE('A', 10..
오라클 SQL에서 시퀀스를 사용할 때는 일반적으로 NEXTVAL과 CURRVAL을 통해 값을 증가시키고 조회한다. NEXTVAL은 시퀀스 값을 증가시키고 그 값을 반환하며, CURRVAL은 현재 세션에서 마지막으로 호출된 NEXTVAL의 결과를 그대로 조회하는 역활을 한다. 시퀀스 현재값 조회 방법SELECT emp_seq.CURRVAL FROM dual 시퀀스 이름이 emp_seq이고 emp_seq.CURRVAL을 사용하여 현재 시퀀스 값을 확인할 수 있다. 현재 세션에서 가장 최근에 생성한 값(즉, 마지막으로 emp_seq.NEXTVAL을 호출한 값)을 확인하는 명령이다. CURRVAL은 계속 조회를 해도 시퀀스 값이 변경되지 않는다.CURRVAL은 세션 내에서 NEXTVAL이 한 번이라도 이 호..
오라클 SQL에서는 날짜 데이터에 대해 시간 간격을 더하거나 빼는 연산이 자주 필요하다. 이때 가장 기본적인 방법은 +, - 연산자를 사용하여 값을 더하거나 빼는 방식이며, 또 다른 방법은 INTERVAL 키워드를 사용하여 명시적인 시간 단위를 지정하는 방식이다. SYSDATE + 1처럼 단순한 덧셈은 직관적이고 빠르게 사용할 수 있지만, INTERVAL '2' HOUR, INTERVAL '3 10' DAY TO HOUR처럼 INTERVAL 키워드를 사용하면 보다 명확하게 단위를 표현할 수 있어 가독성과 유지보수 측면에서 강점이 있다. 목차일반 수식을 사용하여 날짜를 더하거나 빼는 방법INTERVAL을 사용하여 날짜를 더하거나 빼는 방법일반 수식을 사용하여 날짜를 더하거나 빼는 방법SELECT SYSDA..
오라클 SQL에서 JSON 데이터 내에 특정 키나 값이 존재하는지 여부를 판단하기 위해서는 JSON_EXISTS 함수를 사용하면 된다. 이 함수는 JSON 문서에서 루트($), 배열 인덱스, 키 이름, 조건 등을 이용해 특정 경로를 지정하고, 해당 경로에 값이 존재하는지를 TRUE 또는 FALSE로 반환한다. 배열 안에 특정 요소가 포함되어 있는지 확인하거나, JSON 객체 내에 특정 키가 존재하는지 조건을 걸 때 유용하게 사용된다. JSON_EXISTS 함수는 WHERE, HAVING, CASE 등 다양한 조건절에 활용 가능하여, JSON 기반 데이터의 유효성 검증이나 조건 필터링에 매우 효과적이다. 목차JSON_EXISTS 기본 사용법JSON_EXISTS 활용법JSON_EXISTS 배열에서 사용법 J..
오라클 SQL에서 JSON 데이터에서 특정 항목의 JSON 객체( {} ) 또는 배열( [] )을 추출하기 위해서는 JSON_QUERY 함수를 사용하면 된다. JSON_QUERY 함수를 사용할 때는 루트($), 배열 인덱스, 키 이름을 지정하여 원하는 JSON 데이터를 선택할 수 있다. JSON_QUERY 함수는 반환되는 JSON 데이터의 형식은 VARCHAR2(4000)이며, 반환 값의 데이터 유형을 RETURNING 옵션을 사용하여 CLOB, BLOB로 지정할 수 있다. 또한, JSON 데이터를 보기 좋게 포맷하려면 PRETTY 옵션을, 비 ASCII 문자를 이스케이프 하려면 ASCII 옵션을 사용할 수 있다. 목차JSON_QUERY 기본 사용법JSON_QUERY 옵션 사용법JSON_QUERY 사용..
오라클 SQL에서 JSON 데이터를 테이블로 변환할 때는 JSON_TABLE 함수를 사용하면 된다. JSON_TABLE 함수를 사용할 때는 JSON 데이터를 직접 입력하여 사용해도 되고, 테이블에 포함된 JSON 칼럼의 데이터를 테이블로 변환할 수도 있다. JSON_TABLE 함수는 오라클 12c 이상에서 사용할 수 있다. 목차JSON_TABLE 기본 사용법JSON_TABLE 테이블 JSON 사용 및 조인 방법JSON_TABLE 옵션 사용법 JSON_TABLE 기본 사용법SELECT jt.empno , jt.ename FROM JSON_TABLE ( '{"EMPNO":7698,"ENAME":"BLAKE"}', '$' COLUMNS ( ..
오라클 SQL에서 JSON 데이터에서 특정 항목의 값을 추출하기 위해서 JSON_VALUE 함수를 사용하면 된다. JSON_VALUE 함수를 사용하여 값을 추출할 때는 루트($)와 배열순번, 키 이름을 지정하면 된다. JSON_VALUE 함수를 사용할 때 반환 값의 데이터 유형을 지정하기 위해서는 RETURNING 옵션을 사용하면 되며, 데이터 추출 중 오류가 발행하거나 값이 비어있을 경우 ON ERROR, ON EMPTY 옵션을 사용하여 처리할 수 있다.JSON_VALUE 함수는 오라클 12c 부터 사용할 수 있다. 목차JSON_VALUE 기본 사용법JSON_VALUE 옵션 사용법 JSON_VALUE 기본 사용법SELECT JSON_VALUE('{"EMPNO":7698,"ENAME":"BLAKE"}',..
오라클 SQL에서 여러 행의 데이터를 KEY, VALUE 형태로 하나의 JSON 객체로 합치기 위해서는 JSON_OBJECTAGG 함수를 사용하면 된다. JSON_OBJECTAGG 함수는 오라클 12c R2 이상에서 사용할 수 있다. JSON_OBJECT( [ { [KEY] key_expr VALUE val_expr } -- JSON 객체의 "키:값" 쌍을 정의 [FORMAT JSON], -- 값(val_expr)이 JSON 형식임을 명시. 유효하지 않은 JSON 형식이면 오류 발생 ... ] [ JSON_on_null_clause ] -- NULL 처리 방식 지정 (NULL ON NULL 또는 ABSENT ON NULL) [ JSON_returni..
오라클 SQL에서 JSON 객체를 만들기 위해서는 JSON_OBJECT 함수를 사용하면 된다. JSON_OBJECT 함수는 키 이름(KEY)과 값(VALUE)의 매핑을 유연하게 설정할 수 있어 단순한 데이터 변환뿐 아니라 복잡한 JSON 객체를 동적으로 생성하는 데에도 유용하게 사용할 수 있다. JSON_OBJECT 함수는 오라클 12c R2 이상에서 사용할 수 있다. JSON_OBJECT( [ { [KEY] key_expr VALUE val_expr -- JSON 객체의 "키:값" 쌍 지정 | expr [ ":" expr ] -- "키:값"을 표현식으로 생성 } [FORMAT JSON], ..