DB 28

[MSSQL] sp_who2 필터링 조회

접속세션 정보 확인 시 유용하게 사용하는 쿼리로,실제 사용할 때는 조회 쿼리를 다양하게 변형하여 조회 가능하다.응용해서 사용하세요! -- ----------------------------------------- -- sp_who2 필터링 조회 -- ----------------------------------------- CREATE TABLE #sp_who2 (   SPID INT,   Status VARCHAR(1000) NULL,   Login SYSNAME NULL,   HostName SYSNAME NULL,   BlkBy SYSNAME NULL,   DBName SYSNAME NULL,   Command VARCHAR(1000) NULL,   CPUTime INT NULL,   DiskIO ..

DB/MSSQL 2024.08.12

[MariaDB] 컬럼 추가/이동/삭제 및 컬럼명 변경하기

컬럼 추가(특정컬럼 뒤)ALTER TABLE [테이블명] ADD COLUMN [새컬럼명] 자료형 AFTER [앞컬럼명];컬럼 추가(특정컬럼 앞)ALTER TABLE [테이블명] ADD COLUMN [새컬럼명] 자료형 BEFORE [뒤컬럼명];컬럼 이동ALTER TABLE [테이블명] MODIFY COLUMN [컬럼명] [자료형] AFTER [앞컬럼명];컬럼 삭제ALTER TABLE [테이블명] DROP COLUMN [컬럼명];컬럼명 변경ALTER TABLE [테이블명] CHANGE COLUMN [기존컬럼명] [변경할 컬럼명] [컬럼타입];

DB/MariaDB 2024.07.31

[MSSQL] 오라클의 다중 IN 절 -> MSSQL에서는 EXISTS로!

오라클에서는 다중 IN 절이 가능하다. MSSQL에서는 어떻게 쿼리를 작성해야할 지 고민한다면 "EXISTS"를 사용하면 된다. 다만, EXISTS 사용은 원하는 결과집합이 조회되는지 충분히 테스트해보고 적용바란다. 잘못 쿼리하면 필터링이 안되는 경우도 있으니 실수하지 말자. 확실히 하고 싶고 EXISTS 사용을 잘 모르겠으면 안전하게 JOIN문을 사용하도록! Oracle 예시 SELECT * FROM T1 WHERE (A,B) IN (SELECT A,B FROM T2 WHERE C='N') DELETE FROM T1 WHERE (A,B) IN (SELECT A,B FROM T2 WHERE C='N') MSSQL 예시SELECT A.* FROM T1 A WITH(NOLOCK) WHERE EXISTS (S..

DB/MSSQL 2024.07.30

[MariaDB] SUBSTRING() 함수 사용 : 문자열 추출하기

SUBSTRING() 함수 사용하여 문자열 추출하기 # 사용법● 문법1 : SUBSTRING(문자열, 시작위치) 예) SELECT SUBSTRING("TEST2024', 2); ● 문법2 : SUBSTRING(문자열 FROM 시작위치) 예) SELECT SUBSTRING("TEST2024' FROM 2); ● 문법1-1 : SUBSTRING(문자열, 시작위치, 길이) 예) SELECT SUBSTRING("TEST2024', 2, 5); ● 문법1-2 : SUBSTRING(문자열 FROM 시작위치 FOR 길이) 예) SELECT SUBSTRING("TEST2024' FROM 2 FOR 5);

DB/MariaDB 2024.07.01

[MariaDB] DB 버전 확인 명령어

콘솔에서 확인$ mysql –-version $ mariadb –-version DB에서 확인> SELECT version(); > SHOW VARIABLES LIKE 'version'; 1. 에러내용 : 콘솔에서 실행 시 발생$ mysql --version Command 'mysql' not found, but can be installed with: apt install mysql-client-core-8.0 # version 8.0.35-0ubuntu0.20.04.1, or apt install mariadb-client-core-10.3 # version 1:10.3.38-0ubuntu0.20.04.1 Ask your administrator to install one of them. 2. 해결방..

DB/MariaDB 2024.03.05

[MariaDB] 계정조회/계정생성/비밀번호변경/권한부여/권한조회/권한회수/계정삭제

계정 조회SELECT * FROM mysql.user; 계정 생성 + 계정은 '계정명'@'Host에'의 형식으로 작성 + 1개의 동일 계정명이어도 DB에 접속하려는 Host에 따라 3개의 유니크한 계정으로 간주CREATE USER '계정명'@'%' IDENTIFIED BY 'passwd'; CREATE USER '계정명'@'localhost' IDENTIFIED BY 'passwd'; CREATE USER '계정명'@'192.168.0.1' IDENTIFIED BY 'passwd';% : 모든 접속 혀용localhost : 로컬 서버에서만 접속 가능192.168.0.1 : 특정 IP에서 접속 가능 비밀번호변경ALTER USER '계정명'@'%' IDENTIFIED BY 'passwd'; 계정 권한 부여G..

DB/MariaDB 2024.03.04

[MSSQL] [날짜] 1.날짜 연산 함수(DATEADD, DATEDIFF)

자주 사용하면서 찾게되는 날짜함수를 정리해본다. 참고로, 요즘은 다들 글로벌 서비스를 하고 있어 날짜 반환 함수로 GETDATE()보다는 타임오프셋을 확인할 수 있는 SYSDATETIMEOFFSET()을 많이 사용하게 된다. 예제SQL에서는 SYSDATETIMEOFFSET()을 사용하였다.DATEADD: 날짜에 원하는 일수를 더하거나 빼서 출력해 주는 함수구문: DATEADD (datepart, number, date ) -- 지정된 date의 지정된 datepart에 간격을 더하여 새 datetime 값을 반환예제SQLSELECT DATEADD(DAY, -1, SYSDATETIMEOFFSET()) AS [어제] , DATEADD(DAY, 1, SYSDATETIMEOFFSET()) AS [내일] ; DA..

DB/MSSQL 2024.02.28

[MSSQL] 컬럼 문자열 합치기 (STRING_AGG(), STUFF())

여러 행의 컬럼 값을 하나의 문자열로 합칠 때 사용. 2017 이상 부터 지원되는 STRING_AGG()를 사용하는 것이 제일 간편하며, 아래 샘플 쿼리로 사용법에 대해 바로 확인 가능하다. 1) STRING_AGG() + SQL Server 2017 이상의 버전에서 지원 + GROUP BY 절과 함께 사용 가능 & ORDER BY 절을 사용하여 정렬이 가능하며 ORDER BY 절은 생략할 수 있음. + 형식) STRING_AGG("합칠 대상 컬럼명", "구분자") [WITHIN GROUP(ORDER BY "정렬하고자하는 컬럼명")] -- ---------------------------------------- -- #1. [LastName] 문자열 합치기 -- -----------------------..

DB/MSSQL 2024.02.27
320x100