반응형

데이터베이스(DB: Database) 14

[SQL] 오라클(Oracle) NULL 관련 함수 정리

NVL(A, B) 입력 값 A가 NULL 일 경우 B로 대체하여 반환한다. SELECT NVL(NULL, '홍길동') AS NAME, NVL(NULL, 20) AS AGE, NVL(NULL, SYSDATE) AS CREATE_AT FROM dual; NAME AGE MODIFIED_DATE 홍길동 20 2023-12-31 23:59:59 SELECT NVL('오라클', '홍길동') AS NAME, NVL(27, 20) AS AGE, NVL(TO_DATE('2023-01-01 00:00:00'), SYSDATE) AS CREATE_AT FROM dual; NAME AGE MODIFIED_DATE 오라클 27 2023-01-01 00:00:00 NVL2(A, B, C) 입력 값 A가 NULL이 아니면 B, ..

[SQL] 오라클(Oracle) 형변환 함수 정리

TO_NUMBER(문자열) 입력받은 문자열을 숫자로 변환하여 반환한다. 만약, 문자열에 수치 이외의 문자가 포함되어 있으면 오류가 발생한다. SELECT TO_NUMBER('12345') AS CASE1, TO_NUMBER('12.345') AS CASE2 FROM dual; CASE1 CASE2 12345 12.345 만약, 여러 문자가 섞인 문자열을 숫자로 변환하고자 한다면, REPLACE와 정규식을 활용하여 변환할 수 있다. SELECT TO_NUMBER(REPLACE(REPLACE('$123,456.78', '$'), ',') AS CASE1, TO_NUMBER(REGEXP_REPLACE('$123,456.78', '[^0-9.]', '') AS CASE2 FROM dual; CASE1 CASE2..

[SQL] 오라클(Oracle) 날짜 함수 정리

SYSDATE 시스템의 현재 날짜 및 시간(yyyy-mm-dd hh24:mi:ss)을 반환한다. 테이블 상으로는 시간이 보이지 않을 수 있으나, date 타입으로 시간 데이터를 가지고 있다. +, - 연산자로 날짜의 일수를 더하기 및 빼기 연산할 수 있다. SELECT SYSDATE as TODAY, SYSDATE + 1 as TOMORROW, SYSDATE - 1 as YESTERDAY FROM dual; TODAY TOMORROW YESTERDAY 2023-04-25 16:53:45 2023-04-26 16:53:45 2023-04-24 16:53:45 SYSTIMESTAMP 현재 날짜 및 시간을 밀리세컨드까지 표현하여 반환한다. SELECT SYSTIMESTAMP, TO_CHAR(SYSTIMESTA..

[SQL] 오라클(Oracle) 문자열 함수 정리

LOWER(문자열) / UPPER(문자열) / INITCAP(문자열) LOWER : 문자열을 모두 소문자로 변환하여 반환한다. UPPER : 문자열을 모두 대문자로 변환하여 반환한다. INITCAP : 문자열의 첫 번째 문자는 대문자, 나머지는 소문자로 변환하여 반환한다. SELECT LOWER('hello ORACLE!') AS LOWER, UPPER('hello ORACLE!') AS UPPER, INITCAP('hello ORACLE!') AS INITCAP FROM dual; LOWER UPPER INITCAP hello oracle! HELLO ORACLE! Hello Oracle! LENGTH(문자열) 문자열의 길이를 반환한다. SELECT LENGTH('Hello Oracle') AS LEN..

[SQL] 오라클(Oracle) 숫자 함수 정리

ABS(N) N의 절댓값을 반환 SELECT ABS(-5) AS RESULT FROM dual; RESULT 5 MOD(A, B) A를 B로 나눈 나머지를 반환 SELECT MOD(10, 3) AS RESULT FROM dual; RESULT 1 ROUND(A, B) 입력값 A의 (소수점) B번째 자릿수까지 반올림(B 생략 가능) B = 0 : 소수점 첫 번째 자릿수 B > 0 : 소수점 B 번째 자릿수 B < 0 : 정수 B 번째 자릿수 EX) B = -2이면, 10의 자릿수까지 반올림 소수점 첫 번째 자릿수 (B = 0) SELECT ROUND(99.5) AS CASE1, ROUND(99.4) AS CASE2, ROUND(99.5, 0) AS CASE3, ROUND(99.4, 0) AS CASE4 F..

[SQL] Oracle과 MySQL의 문법 차이 정리

현재 날짜 확인 Oracle : SYSDATE MySQL : now() 날짜 포맷 Date to String Oracle : TO_CHAR(날짜, ‘형식’) TO_CHAR(SYSDATE, 'YYYYMMDDHH24MISS') -- 2023-04-18 -> 20230418162030 TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') -- 2023-04-18 -> 2023-04-18 16:20:30 TO_CHAR(SYSDATE, 'MM-DD-YYYY') -- 2023-04-18 -> 04-18-2023 문자열에 따라 표현의 차이가 있음 YYYY : 4자리 년도 YY : 2자리 년도 DD : 31일 형태의 일 DDD : 366일 형태의 일 HH24 : 24시 형태의 시 HH12 : 12..

[DB] 데이터베이스 인덱스(index) 개념 정리

인덱스 (index) 데이터베이스 인덱스(index)는 추가적인 쓰기 작업과 저장 공간을 활용하여 데이터베이스 테이블에 저장된 데이터의 검색 속도를 향상시키기 위한 자료구조이다. 인덱스는 데이터베이스 내의 특정 컬럼(열)이나 컬럼들의 조합에 대한 값과 해당 값이 저장된 레코드(행)의 위치를 매핑하여 데이터베이스 쿼리의 성능을 최적화하는 데 중요한 역할을 한다. 예를 들어, 책에서 원하는 내용을 찾는다고 가정하면, 책의 모든 페이지를 넘기면서 원하는 내용이 나올 때까지 찾는 것보다 목차 또는 저자가 남긴 색인(index)을 통해 찾는 것이 더욱 빠를 것이다. 데이터베이스의 인덱스가 책의 목차와 색인과 같은 역할을 한다. 이처럼 데이터베이스에서 인덱스를 사용하면, 데이터를 검색할 때 전체 테이블을 스캔하는 ..

[Redis] 윈도우10 환경에서 레디스 설치하기

Redis 설치 프로그램 다운로드 아래 링크에 접속하여 msi 확장자의 Redis 설치 프로그램을 다운로드한다. https://github.com/microsoftarchive/redis/releases Releases · microsoftarchive/redis Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes - microsoftarchive/redis github.com 설치 프로그램 실행 설치할 경로 지정 포트 설정(Redis의 기본 포트는..

[Redis] 레디스란 무엇인가? - 특징, 장단점, 사용 사례

Redis란? Redis는 Remote Dictionary Server의 약자로 키(Key) - 값(Value) 쌍의 해시 맵과 같은 구조를 가진 비관계형(NoSQL) 데이터베이스 관리 시스템(DBMS)이다. Redis는 오픈 소스 기반으로 인-메모리(In-memory) 데이터 구조 저장소로 메모리에 데이터를 저장한다. 따라서 별도의 쿼리문이 필요로 하지 않고, 인-메모리에 저장되기 때문에 상당히 빠른 속도로 처리할 수 있다. Redis의 특징 및 장단점 1. 성능 모든 Redis 데이터는 메모리에 저장되어 대기 시간을 낮추고 처리량을 높인다. 평균적으로 읽기 및 쓰기의 작업 속도가 1ms로 디스크 기반 데이터베이스보다 빠르다. 2. 유연한 데이터 구조 Redis의 데이터는 String, List, Se..

[H2] Database "C:/Users/사용자명/test" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200]

에러 원인 H2 데이터베이스 설치 후 실행할 때 발생하는 오류이다. Database "C:/Users/사용자계정/test" not found, either pre-create it or allow remote database creation (not recommended in secure environments) [90149-200] 해석하면 해당 경로에 test.db 데이터베이스가 없어서 접근할 수 없다는 의미이다. 그렇다면 이 문제를 해결하기 위해서는 해당 경로에 test라는 이름의 데이터베이스를 생성해야 한다. 첫 번째 방법 C:\Program Files (x86)\H2\bin 경로에 h2.bat을 실행하여 콘솔 창을 띄운다. 브라우저 주소의 IP 부분을 localhost:8082로 변경하여 접속한..

반응형