문자열 부분일치, 패턴 검색 이란? 우리가 흔히 검색을 할 때 검색한 단어와 똑같은 내용에 해당하는 결과물이 출력되지만 동시에 해당 검색어가 포함된 다른 단어나 문장들도 함께 검색이 됩니다. 예를 들어 '감자'라고 검색을 하면 정확하게 '감자'에 대한 내용이 검색되기도 하지만 '돼지감자', '감자채 볶음', '감자를 심었다' 등 '감자'가 들어간 다른 문자열도 검색이 됩니다. 위와 같은 형태로 검색어와 검색대상 문자열이 부분만 일치하거나, '감자'로 시작하는 문자열만 다 검색해 처럼 특정패턴에 일치하는 경우 조회되게 하는 방법이 LIKE문을 사용한 문자열 부분일치, 패턴 검색 방법입니다. LIKE문 문법 SELECT * FROM 테이블 WHERE 칼럼 LIKE 패턴 LIKE문은 WHERE절에 사용되며 검..
임시 테이블 사용방법에 대해 포스팅합니다. 임시 테이블 (TEMP TABLE) 이란? 임시로 존재하는 테이블입니다. PK, INDEX 등 기본 테이블과 똑같이 다루면 됩니다. tempdb에 임시적으로 만들어졌다가 사라지는 테이블로써 복잡한 쿼리의 성능을 개선하기 위해 많이 사용됩니다. 해당 테이블을 공유하는 영역에 따라 지역 임시 테이블과 전역 임시 테이블 두 가지로 나눌 수 있습니다. 지역 임시 테이블 현재 세션에서만 사용할 수 있는 임시 테이블입니다. 해당 테이블이 생성되는 세션이 끝나면 자동으로 삭제됩니다. (자동으로 종료되지만 필자는 항상 DROP TABLE을 해준다.) 테이블명에 '#'을 붙여서 생성합니다. CREATE TABLE #MY_TEMP_TABLE ( IDX INT , ANY_COLUM..
MSSQL에서 데이터 타입을 변경해 주는 내장 함수 CONVERT와 CAST에 대해 소개합니다. CONVERT 문법 CONVERT([데이터 타입], [데이터], [스타일]) /* [데이터 타입]: 변경할 데이터타입 [데이터]: 데이터타입을 변경할 데이터 [스타일]: 데이터를 변환하며 출력할 스타일 옵션설정 [데이터]가 날짜인경우 변환하며 지정할 날짜포맷 옵션설정 --> [데이터]를 [데이터 타입]으로 변경합니다. */ 예시 SELECT CONVERT(INT, 123.1223) /* FLOAT타입의 데이터를 INT로 변경 --> 123 출력됩니다. */ SELECT CONVERT(DECIMAL(5,2), 123.1263) /* FLOAT 타입의 데이터를 DECIMAL(5,2) 타입으로 변경합니다. --> ..
MSSQL에서 테이블 칼럼의 데이터 타입을 수정하는 방법을 포스팅합니다. 문법 ALTER TABLE [테이블 명] ALTER COLUMN [칼럼 명] [데이터 타입] /* [테이블 명]의 칼럼[칼럼 명]의 데이터 타입을 [데이터 타입]으로 변경합니다. */ 예시 ALTER TABLE [GRADE] ALTER COLUMN [POINT] FLOAT /* [GRADE]테이블의 [POINT]칼럼 데이터타입을 FLOAT으로 변경합니다. */ 간단하게 칼럼의 데이터 타입을 변경할 수 있습니다.
MSSQL에서 LEN 내장 함수를 통해 문자열 길이 출력하는 법을 살펴보겠습니다. LEN 문법 LEN([문자열]) /* [문자열]의 길이를 출력합니다. */ 예시 SELECT NICK_NAME , LEN(NICK_NAME) FROM TARGET_TABLE /* NICK_NAME = 'Aiden' -> 5 NICK_NAME = '철수' -> 2 */ SELECT * FROM TARGET_TABLE WHERE LEN(NICK_NAME) >= 5 /* NICK_NAME의 길이가 5이상인 데이터를 조회함 */ 이상 문자열 길이 출력 함수 LEN에 대한 포스팅이었습니다.
MSSQL에서 CHARINDEX 내장 함수를 통해 문자열 내 특정 문자를 찾는 방법을 소개합니다. CHARINDEX CHARINDEX 함수는 문자열 내 원하는 특정 문자의 위치(INDEX)를 리턴합니다. 기본사용법 문법 CHARINDEX([찾을문자], [대상문자열]) /* [대상문자열]에서 [찾을문자]가 있는 위치(INDEX)를 리턴합니다. [찾을문자]가 없는 경우 0을 리턴합니다. */ 예시 SELECT * FROM TARGET_TABLE WHERE CHARINDEX('AI', NAME) > 0 /* NAME에 'AI' 라는 문자가 포함된 데이터만 조회합니다. NAME = 'AIDEN' -> 조회O NAME = 'JOHN' -> 조회X */ 시작 위치 지정하여 찾기 문법 CHARINDEX([찾을문자],..