SQL(5)
-
[문자열 위치 찾기] PATINDEX, CHARINDEX
두 함수 모두 같은 맥락으로 문자열을 대소문자 구분없이 위치를 반환하지만 PATINDEX는 와일드문자사용이 가능하다. SELECT PATINDEX('찾을 문자열','문자열') SELECT CHARINDEX('찾을 문자열','문자열')
2022.05.18 -
[날짜] DATEPART, DATEDIFF
DATEPART 함수는 지정한 날짜를 정수로 반환한다. SELECT DATEPART([추출 부분?],[날짜]) 추출하고자 하는 양식은 YEAR, QUARTERM MONTH, DAYOFYEAR, DAY, WEEKDAY, WEEK, HOUR, MINUTE, SECOND 가 있다. DAYOFYEAR은 1년중 몇 일 째날인지 계산해준다. (ex. 2월 1일 -> 32) WEEKDAY는 일요일부터 1로 시작한다. DATEPART(WEEKDAY, '2022-01-02') = 1 DATEPART(WEEKDAY, '2022-01-03') = 2 DATEPART(WEEKDAY, '2022-01-04') = 3 DATENAME(WEEKDAT, '2022-01-02') = 일요일 DATENAME(WEEKDAT, '2022-..
2022.05.18 -
[치환함수] REPLACE, ISNULL
SQL SERVER MANGEMENT STUDIO v17.9.1 에서 사용되는 함수만 나열하겠다. 1. REPLACE SELECT REPLACE([컬럼],[찾을 문자열],[바꿀 문자열]) 예를 들어, SELECT REPLACE('010-1234-5678','-','') 위의 코드를 실행하면 01012345678 이 추출된다. 2. ISNULL SELECT ISNULL([컬럼],[NULL인 경우 대체 값]) 예를 들어, #TMP 테이블은 다음과 같다. NO NAME SEX 1 John NULL 2 Tom M 3 Jenny F 4 Kitty NULL SELECT NO, NAME, ISNULL(SEX, 'UnKnown') AS 'SEX' FROM #TMP 다음을 실행하면 다음과 같은 테이블이 결과로 반환된다..
2022.05.18 -
[INFORMATION_SCHEMA] 메타데이터 확인하기
INFORMATION_SCHEMA란 서버 내에 존재하는 DB의 메타정보(테이블, 컬럼, 인덱스 등)를 모아둔 DB이다. 읽기전용(Read-Only)이기 때문에 수정은 불가하다. 메타데이터(Metadata)란, 데이터의 데이터로서 데이터베이스 또는 테이블명, 컬럼 데이터타입, 접근 권한 등을 일컫는다. 데이터사전(Data Dictionary) 또는 시스템 카탈로그(System Catalog)라고도 불린다. 1. 테이블명 추출 SELECT * FROM INFORMATION_SCHEMA.TABLES 2. 컬럼명 추출 SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '[테이블명]' 이 외에도 생성된 이벤트/스케줄(EVENTS), 사용자 권한 정보(USE..
2022.05.18 -
[OPENQUERY] SELECT 조회하기
1. 특정 데이터베이스의 테이블명 추출하기 SELECT * FROM OPENQUERY([연결된 서버], 'SHOW TABLES') 2. 특정 테이블의 컬럼명 추출하기 SELECT * FROM OPENQUERY([연결된 서버], 'SHOW FULL COLUMNS FROM '[테이블명]') -- EX) 100개만 보고자 하는 경우, 테이블명 뒤에 "LIMIT 100"을 붙여 써주면 된다.
2022.05.18