'전체 글'에 해당되는 글 384건
- 2023.10.26 NAS(Network Attached Storage)
- 2023.10.20 [Oracle] 월별 누적 합계
- 2023.10.18 int 형 숫자의 자릿수 구하는 방법
- 2023.10.18 [Oracle] 해당월 전월의 마지막일자 구하기 1
- 2023.10.18 문자열 자르기의 차이
- 2023.10.13 [Oracle] 월별 집계 쿼리 실행 시, 해당 날짜가 없어도 표현되게 하는 방법
- 2023.10.13 [Oracle] 월별 집계 쿼리 1
- 2023.09.15 방화벽 vs. IDS vs. IPS
- 2023.09.13 [DBeaver] 테이블 데이터 복사
- 2023.08.29 [Oracle] Merge into
정의
- 네트워크로 연결된 하드 ( <-> 컴퓨터에 직접 연결해서 쓰는 DAS; 내장/외장 하드디스크 )
- 컴퓨터가 랜선을 통해 다른 네트워크에서 해당 서버를 접속하여 데이터를 R/W/U 하는 것
장점
- 간편한 데이터 공유
- 외장하드를 들고 다닐 필요가 없다
- 금액 절감 효과 ( 외장하드 구입 or 웹클라우드 구축 대비 )
- 다양한 용도 ( docker hub에 있는 수많은 기능 중 상당수를 NAS에서 사용 가능 )
단점
- 네트워크 구축 필수
- 성능 한계
- 설정 복잡
- 데이터 관리 어려움
'IT Infra' 카테고리의 다른 글
scp 와 pscp (2) | 2023.11.29 |
---|---|
[NAS] Server 에서 NAS 로 데이터 백업하기 (0) | 2023.10.26 |
방화벽 vs. IDS vs. IPS (0) | 2023.09.15 |
SASE(Secure Access Service Edge) (0) | 2023.08.24 |
SSL Pinning (0) | 2023.08.24 |
SUM(
-- 집계대상 col
...
) OVER (
PARTITION BY
-- 정렬대상 : ex. 회사코드, 부서코드
COMPANY_CD,
ORG_ID
...
ORDER BY
-- 합계기준 컬럼 : ex. 날짜
-- case when 사용 가능
CASE
WHEN SUBSTR(ISSUE_DT,5,4) LIKE '%0100%' THEN
TO_CHAR(TO_DATE(SUBSTR(ISSUE_DT,1,4) || '0101'), 'YYYYMM') -- yyyy0100 데이터는 yyyy0101 데이터로 강제변환
ELSE
TO_CHAR(TO_DATE(ISSUE_DT), 'YYYYMM') -- 아닐경우 유지
END
) AS OOO
'DATABASE(SQL)' 카테고리의 다른 글
[MS-SQL] 프로시저 검색 (0) | 2023.11.14 |
---|---|
[Oracle] Database 관리 관련 수행 쿼리 모음 (0) | 2023.11.03 |
[Oracle] 해당월 전월의 마지막일자 구하기 (1) | 2023.10.18 |
[Oracle] 월별 집계 쿼리 실행 시, 해당 날짜가 없어도 표현되게 하는 방법 (0) | 2023.10.13 |
[Oracle] 월별 집계 쿼리 (1) | 2023.10.13 |
int foo = 345;
int digit = (int)( Math.log10(foo) + 1 );
System.out.println(digit); // 3
'Java' 카테고리의 다른 글
jar, war 파일 관련 (0) | 2023.08.01 |
---|---|
Servlet & Servlet Container (0) | 2023.06.13 |
HttpSession (0) | 2023.04.04 |
Server 1대에 Multi version 의 JDK 사용 (0) | 2022.12.06 |
DAO, DTO, VO (0) | 2022.03.21 |
-- 2022-12-31
SELECT ADD_MONTHS(LAST_DAY(TO_DATE('20230101', 'YYYY-MM-DD')), -1) FROM DUAL;
'DATABASE(SQL)' 카테고리의 다른 글
[Oracle] Database 관리 관련 수행 쿼리 모음 (0) | 2023.11.03 |
---|---|
[Oracle] 월별 누적 합계 (0) | 2023.10.20 |
[Oracle] 월별 집계 쿼리 실행 시, 해당 날짜가 없어도 표현되게 하는 방법 (0) | 2023.10.13 |
[Oracle] 월별 집계 쿼리 (1) | 2023.10.13 |
[Oracle] Merge into (0) | 2023.08.29 |
// 오라클
SUBSTR("문자열", "시작위치", "길이") // 시작위치가 1부터 시작한다.
substr('abcdef', 2, 3) // bcd
// java
substring("시작위치", "종료위치 + 1") // 시작위치가 0부터 시작한다.
String foo = 'abcdef';
foo.substring(0, 4) // abcd
// javascript
substr("시작위치", "길이") // 시작위치가 0부터 시작한다.
var foo = 'abcdef';
foo.substr(1, 1); // b
substring("시작위치", "종료위치") // 시작위치가 0부터 시작한다.
var foo = 'abcdef';
foo.substr(2, 3); // cde
'etc' 카테고리의 다른 글
SHA-256 해시 알고리즘 (0) | 2023.08.16 |
---|---|
PoC (0) | 2023.07.31 |
Copilot (0) | 2023.07.31 |
Web Achitectures 입문 (0) | 2023.06.30 |
성장하려면 (0) | 2023.06.30 |
SELECT
TO_CHAR(TO_DATE(V.MON), 'MM') AS MON
, Z.COL_A
...
FROM
-- Z : 가져올 데이터 테이블
(
SELECT
TO_CHAR(TO_DATE(BILL_DT), 'MM') AS MON,
COL_A,
FROM ...
AND 날짜컬럼 BETWEEN TO_DATE(SUBSTR('202101',0,4) || '0101', 'YYYY-MM-DD') AND TO_DATE('202110' || '31', 'YYYY-MM-DD') -- /* 1월 ~ 12월 조건 */
GROUP BY TO_CHAR(TO_DATE(날짜컬럼), 'MM'), COL_A, ... -- 날짜값 형반환 주의
ORDER BY MON -- /* 1월 ~ 12월 정렬 */
) Z
, (
-- V : 날짜 뷰(1월1일 ~ 12월 31일)
SELECT TO_DATE(SUBSTR('202101',0,4) || '0101','YYYY-MM-DD') + LEVEL - 1 AS MON
FROM dual
CONNECT BY LEVEL <= (TO_DATE(SUBSTR('202110',0,4) || '1231','YYYY-MM-DD') - TO_DATE(SUBSTR('202101',0,4) || '0101','YYYY-MM-DD') + 1)
) V
WHERE V.MON = Z.MON(+) -- right outer join
GROUP BY
TO_CHAR(TO_DATE(V.MON), 'MM')
, Z.COL_A
...
ORDER BY MON
'DATABASE(SQL)' 카테고리의 다른 글
[Oracle] 월별 누적 합계 (0) | 2023.10.20 |
---|---|
[Oracle] 해당월 전월의 마지막일자 구하기 (1) | 2023.10.18 |
[Oracle] 월별 집계 쿼리 (1) | 2023.10.13 |
[Oracle] Merge into (0) | 2023.08.29 |
[Oracle] DB Link (0) | 2023.08.25 |
-- 월별 누적 합계 쿼리
WITH MON_T AS ( -- 기준 월
SELECT 1 AS MON FROM DUAL UNION ALL
SELECT 2 AS MON FROM DUAL UNION ALL
SELECT 3 AS MON FROM DUAL UNION ALL
SELECT 4 AS MON FROM DUAL UNION ALL
SELECT 5 AS MON FROM DUAL UNION ALL
SELECT 6 AS MON FROM DUAL UNION ALL
SELECT 7 AS MON FROM DUAL UNION ALL
SELECT 8 AS MON FROM DUAL UNION ALL
SELECT 9 AS MON FROM DUAL UNION ALL
SELECT 10 AS MON FROM DUAL UNION ALL
SELECT 11 AS MON FROM DUAL UNION ALL
SELECT 12 AS MON FROM DUAL
),
DATA_T AS ( -- 데이터 테이블
SELECT 1 AS MON, 11 AS D_CNT FROM DUAL UNION ALL
SELECT 2 AS MON, 12 AS D_CNT FROM DUAL UNION ALL
SELECT 3 AS MON, 13 AS D_CNT FROM DUAL UNION ALL
SELECT 4 AS MON, 14 AS D_CNT FROM DUAL UNION ALL
SELECT 5 AS MON, 15 AS D_CNT FROM DUAL UNION ALL
SELECT 6 AS MON, 16 AS D_CNT FROM DUAL UNION ALL
SELECT 7 AS MON, 17 AS D_CNT FROM DUAL UNION ALL
SELECT 8 AS MON, 18 AS D_CNT FROM DUAL UNION ALL
SELECT 9 AS MON, 19 AS D_CNT FROM DUAL UNION ALL
SELECT 10 AS MON, 20 AS D_CNT FROM DUAL UNION ALL
SELECT 11 AS MON, 21 AS D_CNT FROM DUAL UNION ALL
SELECT 12 AS MON, 22 AS D_CNT FROM DUAL
)
SELECT
M.MON
, D.MON AS MON2
, D.D_CNT
FROM MON_T M
, DATA_T D
WHERE D.MON BETWEEN 1 AND M.MON
ORDER BY M.MON, D.MON
-- WITH 를 이용한 월별 데이터(누적x) 집계 쿼리
-- 기준월(1월 ~ 12월)
WITH MON_T AS (
SELECT 1 AS MON FROM DUAL UNION ALL
SELECT 2 AS MON FROM DUAL UNION ALL
SELECT 3 AS MON FROM DUAL UNION ALL
SELECT 4 AS MON FROM DUAL UNION ALL
SELECT 5 AS MON FROM DUAL UNION ALL
SELECT 6 AS MON FROM DUAL UNION ALL
SELECT 7 AS MON FROM DUAL UNION ALL
SELECT 8 AS MON FROM DUAL UNION ALL
SELECT 9 AS MON FROM DUAL UNION ALL
SELECT 10 AS MON FROM DUAL UNION ALL
SELECT 11 AS MON FROM DUAL UNION ALL
SELECT 12 AS MON FROM DUAL
),
DATA_SAMPLE1 AS (
SELECT
TO_CHAR(TO_DATE(날짜컬럼), 'MM') AS MON,
COL_A,
COL_B,
-----------------------
--- 기존 select 쿼리
-----------------------
FROM
-- 날짜별 조건 추가
AND 날짜컬럼 BETWEEN TO_DATE('2023-01-01', 'YYYY-MM-DD') AND TO_DATE('2023-12-31', 'YYYY-MM-DD') -- /* 1월 ~ 12월 조건 */
GROUP BY TO_CHAR(TO_DATE(날짜컬럼), 'MM'), COL_A, COL_B -- 날짜값 형반환 주의
ORDER BY MON-- /* 1월 ~ 12월 정렬 */
)
SELECT
MT.MON || '월' AS MON /* 기준월 */
, D1.COL_A
, D2.COL_A
..
FROM MON_T MT -- 기준월을 기준으로
LEFT OUTER JOIN DATA_SAMPLE1 D1 ON D1.MON = MT.MON -- left join으로 데이터가 존재하는 row만 보이도록 처리
... 기타 join 조건 추가 ...
WHERE 1=1
-- 날짜 조건 param 값으로 처리
AND MT.MON BETWEEN TO_NUMBER(SUBSTR(#{s_bill_st_dt},5,2)) AND TO_NUMBER(SUBSTR(#{s_bill_end_dt},5,2))
GROUP BY MT.MON -- 월별
, D1.COL_A -- select 절에 가져오는 컬럼은 group by 에 모두 기입되어야함.
, D2.COL_A
...
ORDER BY MT.MON -- 월별(날짜순서)
'DATABASE(SQL)' 카테고리의 다른 글
[Oracle] 해당월 전월의 마지막일자 구하기 (1) | 2023.10.18 |
---|---|
[Oracle] 월별 집계 쿼리 실행 시, 해당 날짜가 없어도 표현되게 하는 방법 (0) | 2023.10.13 |
[Oracle] Merge into (0) | 2023.08.29 |
[Oracle] DB Link (0) | 2023.08.25 |
SQL 실행계획 (0) | 2023.08.21 |
방화벽
- 서로 다른 네트워크를 지나는 데이터를 허용 및 거부하거나 검열 또는 수정
- 네트워크에서 보안을 높이기 위한 1차적인 방법
- 신뢰하지 않는 외부 네트워크와 신뢰하는 내부 네트워크 사이를 지나가는 패킷들에 대한 미리 정한 규칙에 따라 차단하거나 보내주는 기능을 하는 하드웨어 또는 소프트웨어를 뜻함
- 기본적인 기능은 접근 제어를 Rule Set(ip, port)을 통해 이루어짐
IDS
- 칩입탐지시스템(Instruction Detection System)
- 시스템에 대한 원치 않은 조작을 탐지
- 호스트 기반(HIDS) 과 네트워크 기반(NIDS) 으로 나뉨
IPS
- 칩입방지시스템(Instrusion Preveting System)
- 공격탐지를 뛰어넘어 탐지된 공격에 대한 웹 연결 등을 적극적으로 막아주는 솔루션
- 침입탐지 기능을 수행하는 모듈이 패킷을 일일히 검사하여 해당 패턴을 분석한 후, 정상적인 패킷이 아니면 방화벽 기능을 가진 모듈로 차단
- 일반적으로 IPS는 방화벽 내부에 설치 ( 방화벽과 연동하여 공격을 탐지할 수 있기 때문 )
'IT Infra' 카테고리의 다른 글
[NAS] Server 에서 NAS 로 데이터 백업하기 (0) | 2023.10.26 |
---|---|
NAS(Network Attached Storage) (0) | 2023.10.26 |
SASE(Secure Access Service Edge) (0) | 2023.08.24 |
SSL Pinning (0) | 2023.08.24 |
[Jenkins] 젠킨스를 이용한 CI과정 (0) | 2023.08.16 |
1. 복사할 테이블 우측버튼 클릭 > 데이터 내보내기
2. SQL Insert 문으로 내보내기 > 다음
3. Extraction Settings > By Segments
4. Format Settings
- Include generated columns > 체크
- 파일확장자 > sql
- Native date/time format > 체크
- Insert line before rows > 체크
'DevTools' 카테고리의 다른 글
Visual Studio Code 단축키 정리 (1) | 2024.03.14 |
---|---|
STS (SpringSource Tool Suite) (0) | 2023.08.16 |
[VS Code] vs code 에서 git 연동 (0) | 2023.08.11 |
[VS Code] .properties 파일에서 한글 깨지는 경우 (0) | 2023.08.01 |
SourceTree (0) | 2023.07.05 |
what?
- insert, update, delete 작업을 하나의 쿼리문으로 할때
- verison
- 9i 부터 merge 사용가능
- 10g 부터 delete 절 사용 가능
Merge
INTO temp_table A -- 데이터가 들어갈 target
USING table2 B -- 단일테이블인 경우 dual을 사용
ON A.id = B.id -- 조건절
WHEN MATCHED THEN -- 일치하는 경우
UPDATE SET A.seq = B.seq
DELETE
WHEN BOT MATCHED THEN -- 불일치하는 경우
INSERT (A.a, A.b, B.c)
VALUES (B.d, B.e, A.f);
기타
- on 조건절에 사용할 컬럼을 업데이트하면 오류가 발생함.
'DATABASE(SQL)' 카테고리의 다른 글
[Oracle] 월별 집계 쿼리 실행 시, 해당 날짜가 없어도 표현되게 하는 방법 (0) | 2023.10.13 |
---|---|
[Oracle] 월별 집계 쿼리 (1) | 2023.10.13 |
[Oracle] DB Link (0) | 2023.08.25 |
SQL 실행계획 (0) | 2023.08.21 |
[MS-SQL] Begin Tran (0) | 2023.08.10 |