본문 바로가기

SQL23

728x90
반응형
[티베로] 'REGEXP_REPLACE' - 정규식으로 문자를 제거하는 함수 티베로에도 정규식으로 문자를 치환할 수 있는 'REGEXP_REPLACE' 함수가 있다. 사용 방법은 아래와 같다. REGEXP_REPLACE({문자열}, {정규식}) 영문과 숫자만 허용하는 정규식은 다음과 같다. '[^[:alpha:]^[:digit:]]' 영문과 숫자만 허용하는 정규식으로 'REGEXP_REPLACE' 함수를 작성하면 아래의 사진처럼 활용할 수 있다. 참고문서 "4.2.122. REGEXP_REPLACE", Chapter 4. Functions, Tibero SQL Reference Guide, Tibero 6. @원문보기 2023. 12. 14.
[티베로] REPLACE - 문자 치환 함수 티베로에서 공백이나 하이픈 같은 문자를 다른 문자로 바꿔야 할 때 사용할 수 있는 함수로 'REPLACE'가 있다. 'REPLACE' 함수를 사용하는 방법은 아래와 같다. REPLACE({문자열}, {치환할 문자}, {치환될 문자}) 참고문서 "4.2.125. REPLACE", Chapter 4. Functions, Tibero SQL Reference Guide, Tibero 6. @원문보기 2023. 12. 13.
[PostgreSQL] 버전 확인 쿼리 버전 확인 쿼리 PostgreSQL 버전을 확인하는 쿼리는 아래와 같다. select version(); 2023. 8. 23.
[PostgreSQL] 데이터베이스 소유자 변경 소유자 변경 아래의 쿼리(Query)를 입력하면 데이터베이스 소유자를 변경할 수 있다. ALTER DATABASE {데이터베이스명} OWNER TO {사용자명}; 참고문서 "ALTER DATABASE", PostgreSQL 지침서, 2023년 7월 11일. @원문보기 2023. 8. 3.
[PostgreSQL] 비밀번호 변경 아래의 쿼리를 입력하면 특정 사용자의 비밀번호를 변경할 수 있다. alter user {계정명} with password {비밀번호} 2023. 8. 1.
[오라클] 중복 데이터를 확인하는 방법 중복 데이터 확인 방법 오라클 데이터베이스에서 중복 데이터를 확인해야 하는 경우 아래와 같이 쿼리(Query)를 작성하여 확인할 수 있다. SELECT {COLUMN_A, ...}, COUNT(*) AS CNT FROM {TABLE_NAME} GROUP BY {COLUMN_A, ...} HAVING COUNT(*) > 1 2023. 7. 11.
[IT 용어] SQL(Structured Query Language, 구조화된 질의 언어) 정의 SQL(Structured Query Language, 구조화된 질의 언어)은 데이터베이스의 조작과 관리를 위한 표준 질의(Query) 언어를 말한다. SQL은 1970년대에 IBM이 출시하여 1986년에 ANSI(American National Standards Institute) 표준(SQL-86)이 제정되었으며 현재 ISO(International Organization for Standardization)에서 'ISO/IEC 9075'라는 명칭으로 국제표준으로 제정되어 관리 중이다. 참고문서 "구조화된 질의 언어, 構造化質疑言語, Structured Query Language, SQL", 정보통신용어사전, 한국정보통신기술협회(TTA). @원문보기 "The History of SQL Stand.. 2023. 3. 24.
[윈도우] MariaDB 데이터를 SQL 파일로 백업하는 스크립트 데이터베이스 백업은 아주 중요하다. 백업하는 방법은 여러가지가 있겠지만 본 글에서는 특정 데이터를 SQL 파일로 가공하는 방법을 설명한다. 백업 스크립트 SQL 파일로 MariaDB 데이터베이스를 백업하는 스크립트는 아래와 같다. 필자의 경우 아래와 같이 파일명에 작업일시를 붙여서 파일을 저장하도록 스크립트를 작성한다. @echo off set YEAR=%date:~0,4% set MONTH=%date:~5,2% set DAY=%date:~8,2% set HOUR=%time:~0,2% set MINUTE=%time:~3,2% set SECOND=%time:~6,2% set date_format=%YEAR%%MONTH%%DAY%%HOUR%%MINUTE%%SECOND% mysqldump -u[계정명] -p[.. 2023. 3. 8.
[티베로/SQL] 대소문자 구분 없이 자료 찾기(검색) 영문자 소문자를 대문자로 문자열을 변환하는 UPPER 함수와 영문자 대문자를 소문자로 변환하는 LOWER 함수를 활용하면 대소문자 구분 없이 자료를 찾을 수 있다. UPPER 함수를 활용해 대소문자 구분 없이 자료 검색하는 방법 UPPER 함수를 활용해 아래의 쿼리처럼 조건문을 작성하면 대소문자 구분 없이 자료를 찾을 수 있다. SELECT * FROM ( SELECT 'Apple' AS FRUIT_NAME FROM dual UNION SELECT 'Banana' AS FRUIT_NAME FROM dual UNION SELECT 'Grape' AS FRUIT_NAME FROM dual ) WHERE UPPER(FRUIT_NAME) LIKE '%'||UPPER('b')||'%' LOWER 함수를 활용해 대.. 2023. 1. 28.
[티베로/SQL] UPPER 대문자로 변환, LOWER 소문자로 변환 값을 대문자나 소문자로 변환해야 하는 경우가 있다. 이 경우 티베로에서는 UPPER 함수와 LOWER 함수로 대소문자 변환이 가능하다 대문자로 변환 아래의 쿼리(Query)처럼 UPPER 함수를 사용하면 대문자로 문자열을 변환할 수 있다. UPPER(문자열) SELECT UPPER('aBcDe12345') FROM dual; 소문자로 변환 아래의 쿼리처럼 LOWER 함수를 사용하면 소문자로 문자열을 변환할 수 있다. LOWER(문자열) SELECT LOWER('aBcDe12345') FROM dual; 참고문서 "4.2.182. UPPER", Tibero 6, Tibero SQL 참조 안내서, 티맥스데이터, 2020년 8월 21일. @원문보기 "4.2.80. LOWER", Tibero 6, Tibero .. 2023. 1. 27.
[티베로] LPAD, RPAD - 부족한 문자열 길이를 특정 문자로 채우거나 특정 길이를 넘는 문자열을 자르기 입력된 값을 보고 원하는 형식으로 바꿔줘야 하는 경우가 있다. 특히, 문자열 길이를 맞춰야 하는데 부족한 길이에 해당하는 영역을 특정 문자로 채우는 함수로 티베로에서는 LPAD 함수와 RPAD 함수를 제공한다. 1. RPAD 함수 RPAD 함수를 쓰면 지정한 길이로 문자열을 자르고 부족하면 오른쪽부터 채운다. 문법은 아래와 같다. RPAD(문자열, 길이, 문자) 2. RPAD 함수 예제 아래와 같이 RPAD 함수를 사용할 수 있다. 2-1. 지정한 길이보다 입력값이 긴 경우 SELECT RPAD('20230117010101000', 14, '0') FROM dual 2-2. 지정한 길이보다 입력값이 짧은 경우 SELECT RPAD('20230117', 14, '0') FROM dual 3. LPAD 함수.. 2023. 1. 18.
[티베로] 'TBR-8027: Column name is ambiguous' 해결 방법 오류 발생 이유 쿼리(Query)를 작성하다보면 'TBR-8027: Column name is ambiguous'를 만날 때가 있다. 이 경우는 조인(Join) 등의 이유로 컬럼(Column)의 명칭이 중복되는 경우에 발생한다. 오류 예시 아래의 쿼리 처럼 A 테이블과 B 테이블을 가게명(STORE_NAME)으로 조인할 때 A 테이블의 가게명과 B 테이블의 가게명이 존재하게 되므로 명시적으로 어느 테이블의 가게명을 사용할 것인지를 지정해야 한다. SELECT STORE_NAME, STORE_SALES, PRODUCT_PRICE FROM (SELECT 'APPLE' AS STORE_NAME, '100' AS STORE_SALES FROM dual) A LEFT JOIN (SELECT 'APPLE' AS S.. 2023. 1. 16.
[오라클/티베로] 특정 범위의 숫자 생성 일을 하다보면 SQL 만으로 특정 범위의 숫자를 생성해야 할 때가 있다. 그 경우에 활용 가능한 방법은 아래와 같다. 특정 숫자 이하의 일련의 수를 생성하는 쿼리 먼저 설명하는 방법은 ROWNUM 또는 LEVEL을 활용하는 방법인데 오라클에서 제공하는 CONNECT BY 문을 활용한다. 아래와 같은 형식으로 쿼리(Query, 질의어)를 작성한다. SELECT ROWNUM FROM DUAL CONNECT BY ROWNUM 2023. 1. 4.
마이바티스에서 프로시저를 호출하는 방법 본 글에서는 티베로(오라클)의 데이터베이스를 사용하는 마이바티스 프로젝트에서 프로시저를 호출하는 것과 프로시저에 값을 전달하고 받는 방법을 소스 코드와 함께 설명한다. 프로시저 작성 예제 아래의 SQL(Structured Query Language)처럼 프로시저를 작성한다. CREATE OR REPLACE PROCEDURE EXAMPLE_PROCEDURE( IN_DATA IN VARCHAR2, OUT_ERROR_CODE OUT NUMBER, OUT_ERROR_MESSAGE OUT VARCHAR2 ) IS BEGIN INSERT INTO EXAMPLE_TABLE(COLUMN) VALUES(IN_DATA); OUT_ERROR_CODE := 0; OUT_ERROR_MESSAGE := '성공'; EXCEPTIO.. 2022. 11. 8.
[프로그래머스/오라클] 12세 이하인 여자 환자 목록 출력하기 해답 문제 주소 https://school.programmers.co.kr/learn/courses/30/lessons/132201 해답 소스 주소 https://github.com/EngineeringCode/study-coding-test-with-oracle/blob/main/programmers/high_score_kit/select/132201_patient.sql 배경 지식 SQL SELECT 문법 조건문(CASE WHEN, DECODE) 조회 테이블 PATIENT 조회 조건 12살 이하 여자 환자 전화번호가 없는 경우, 'NONE'으로 출력 정렬 방식 나이를 내림차순 정렬 나이가 같다면 환자이름으로 오른차순 정렬 SQL 해답 SELECT PT_NAME, PT_NO, GEND_CD, AGE, DEC.. 2022. 11. 7.
[프로그래머스/오라클] 과일로 만든 아이스크림 고르기 해답 문제 주소 https://school.programmers.co.kr/learn/courses/30/lessons/133025 해답 소스 주소 https://github.com/EngineeringCode/study-coding-test-with-oracle/blob/main/programmers/high_score_kit/select/133025_ice_cream.sql 동작 환경 Oracle RDBMS 배경 지식 SQL SELECT 문법 JOIN 조회 테이블 FIRST_HALF ICECREAM_INF 조회 조건 아이스크림의 상반기 총 주문량이 3,000보다 높은 것 아이스크림의 주성분이 과일일 것 정렬 방식 총 주문량을 내림차순으로(큰 순서대로) SQL 해답 SELECT O.FLAVOR FROM (S.. 2022. 11. 6.
[오라클/티베로] "JDBC-10007:UNIQUE constraint violation" SQL(Structured Query Language)을 작성하다보면 아래의 사진처럼 'JDBC-10007:UNIQUE constraint violation" 오류가 나타나는 경우가 있다. 특정 값은 유일해야 하는 유니크 제약조건을 위배했기 때문인데 이 경우는 해당 유니크 제약조건을 살펴서 SQL을 수정하거나 관련 처리 과정을 수정해야 한다. 2022. 11. 1.
[티베로] tbSQL을 사용하여 대용량 SQL 파일 실행하기 tbSQL이란? tbSQL은 티베로(Tibero)에서 제공하는 SQL(Structured Query Language) 처리용 유틸리티이다. 내가 tbSQL을 사용하는 경우 티베로 관리를 GUI(Graphical User Interface)로 쉽게할 수 있는 'TiberoStudio'와 'SQLGate for Tibero Developer' 등을 사용하면 (현재 기준으로는) 단위 시간당 SQL 처리량이 낮아서 대용량 SQL 파일을 처리할 때 부적합했다. 그래서 tbSQL을 사용했는데 비교도 안 될 만큼 빨리 처리되었고 지금은 이런 경우에 나는 tbSQL을 쓴다. tbSQL 사용 방법 명령 프롬프트(Command Prompt, CMD) 또는 터미널(Termnial)을 실행하여 아래와 같은 명령어를 입력하면 .. 2022. 9. 8.
[티베로6] 데이터베이스 인코딩을 확인하는 방법 티베로의 인코딩을 확인하고자 한다면 아래의 질의어(Query, 쿼리)를 통해 확인할 수 있다. SELECT * FROM DATABASE_PROPERTIES 2022. 8. 4.
[티베로] 테이블스페이스를 생성하고 목록 확인(조회)하기 테이블스페이스 생성 티베로에서 테이블스페이스(Tablespace)를 생성하는 명령어는 아래와 같다. CREATE TABLESPACE 테이블스페이스명 DATAFILE '파일명.dbf' SIZE 100M AUTOEXTEND ON NEXT 100M MAXSIZE 1G EXTENT MANAGEMENT LOCAL AUTOALLOCATE 테이블스페이스 삭제 아래의 명령어로 테이블스페이스를 삭제할 수 있다. DROP TABLESPACE 테이블스페이스명 테이블스페이스 파일 확인 아래의 명령어로 테이블스페이스 파일 목록을 확인할 수 있다. SELECT * FROM DBA_DATA_FILES 테이블스페이스 목록 확인 아래의 명령어로 모든 테이블 스페이스 목록을 확인할 수 있다. SELECT * FROM DBA_TABLES.. 2022. 8. 3.