프로그래밍/DB 20

[MS-SQL] 대소문자 구분하여 조회 하는 방법

MS-SQL 대소문자 구분하기 만약 DB 설정이 대소문자를 구분하지 않도록 되어 있을 경우, 조회 시에 소문자 'a'를 검색하고 싶어도 대문자 'A' 까지 함께 조회가 됩니다. 이럴 경우 대소문자를 구분하도록 하는 방법이 있습니다. 쿼리 작성 시에 COLLATE Korean_Wansung_CS_AS를 사용하여 작성 하면 됩니다. 아래 예제를 통해서 자세하게 살펴보도록 하겠습니다. ■ 예제 - 예제1 : 조건절에 사용 WITH TEST_TABLE AS ( SELECT '대문자 A' COL UNION ALL SELECT '소문자 a' COL ) SELECT * FROM TEST_TABLE WHERE COL LIKE '%A%' WITH TEST_TABLE AS ( SELECT '대문자 A' COL UNION ..

프로그래밍/DB 2017.10.19

[MS-SQL] 엑셀 업로드 방법 - 데이터 가져오기

MS-SQL 엑셀 업로드 방법 엑셀 또는 텍스트파일 등에 있는 데이터들을 mssql에 입력 하고 싶을때가 있습니다. 그런 경우, 데이터 가져오기 기능을 통해 처리할 수 있습니다.그럼 실행 절차를 알아보도록 하겠습니다. 1. 대상 테이블이 있는 데이터베이스를 선택하여 마우스 우클릭을 하여 [태스크] → [데이터 가져오기]를 클릭합니다. 2. SQL Server 가져오기 및 내보내기 마법사 시작 화면에 나타나면 다음을 클릭합니다. 3. 데이터 원본에서 Microsoft Excel 을 선택하고, 파일 찾아보기를 통해 Excel파일 경로가 입력 되게 합니다.Excel버전을 선택해 줍니다. Microsoft Excel 97-2003로 선택합니다. 버전이 업로드 하고자 하는 파일과 동일한지 확인 해 보아야 합니다...

프로그래밍/DB 2017.10.13 (2)

[MS-SQL] 문자열 자르기-SUBSTRING, CHARINDEX, LEN

MS-SQL 문자열을 자르기 1. 기본 - 문자열 자르는 함수는 SUBSTRING 입니다(시작번호의 경우 MS-SQL은 1부터 시작입니다) → SELECT SUBSTRING([문자열], [시작자리번호], [자를문자수]) 2. 응용 - 특정 문자열 뒤로 자르고 싶을 경우 WITH TestTable AS ( SELECT '[첫째]쿼리 가지고 놀기.' COL1 UNION SELECT '[둘째]원하는 데이터만.' COL1 UNION SELECT '[셋째]다양한 방법 선택은..' COL1 ) SELECT SUBSTRING(COL1, CHARINDEX(']', COL1, 1) + 1, LEN(COL1)) COL1FROM TestTable [결과] 3. 응용 단계별 - CHARINDEX함수 : [~부터 찾을 자리] ..

프로그래밍/DB 2017.09.11

[MS-SQL] 테이블 조인하여 업데이트하는 방법

MS-SQL 두 테이블을 조인(join)하여 업데이트하는 방법 두 테이블을 조인(JOIN)하여 한 테이블의 값들을 다른 대상이 되는 테이블에 업데이트 하는 방법에 대하여 알아보고자 합니다텍스트 쿼리는 포스팅 하단에 있습니다 보고 이해하기 쉽게 먼저 이미지를 올려 설명을 드리고자 합니다 먼저 테스트를 위한 준비로 테이블과 데이터를 생성 해 보도록 하겠습니다 단계1 > 업데이트 대상 테이블을 생성합니다결과1> 단계2> 업데이트 할 값을 가지고 있는 테이블을 생성합니다결과2> 단계3> A테이블과 B테이블을 조인하여 키 값이 Key2인 데이터만 B테이블 값으로 업데이트 합니다 키 값을 조건으로 주지 않으면 모두 업데이트 됩니다 각 키값에 해당하는 B테이블 값돌로 업데이트 되도록 조건을 주었습니다결과3> >> 위..

프로그래밍/DB 2017.09.08

[MS-SQL] 특정 월의 마지막 날짜 구하는 두가지 방법

MS-SQL 특정 월의 마지막 날짜 구하는 방법 특정한 월의 마지막 날짜를 구해야 할 때가 종종 발생합니다 MSSQL에서 특정월의 마지막 날짜를 구하기 위해서 몇가지 함수를 익혀야 합니다 그럼 하나하나 알아보록 하겠습니다 다양한 방법들이 있겠지만 그 중 두가지 방법을 알려 드립니다 첫번째 방법> 날짜를 월까지 자른 후, 일 값으로 01일을 더한 후 DATEADD 함수를 통해 -1일을 하면 끝 간단하죠 이렇게 하면 특정 월의 마지막 날짜를 쉽게 구할 수가 있습니다 두번째 방법> DATEDIFF를 이용하는 방법입니다 DATEDIFF를 이용해 현재까지 또는 특정날까지의 월수를 계산합니다 그리고 역시 DATEADD를 통해 월의 마지막 날짜를 구하는 방법입니다 첫번째 방법에는 -1일 을 했다면 아래 예제는 -1초..

프로그래밍/DB 2017.09.07

[MS-SQL] 정규식을 이용한 특수문자 포함 된 데이터 조회 방법

정규식을 이용한 특수문자 포함 된 데이터 조회 하는 방법 1. 특수문자 포함 데이터 2. 숫자 포함 데이터 3. 끝이 숫자인 데이터 4. 끝이 한글인 데이터 --1. 특수문자 포함 WITH TEST_TABLE AS ( SELECT '19AZ가나' AS CO UNION SELECT '탭 들어가있습니다' AS CO UNION SELECT '여기 특수문자@ 가 있습니다.' AS CO UNION SELECT '12345' AS CO UNION SELECT 'ABC' AS CO UNION SELECT '띄워 쓰기' AS CO UNION SELECT '점도 특수문자인가.' AS CO ) SELECT * FROM TEST_TABLE WHERE CO LIKE '%[^0-9a-zA-Z가-힣 .]%' --2. 숫자문자 포..

프로그래밍/DB 2017.09.07

[MS-SQL] 컬럼명이 포함 된 테이블 찾는 방법

컬럼명이 포함되어 있는 테이블 찾는 방법 [번호] 라는 컬럼명이 포함되어 있는 테이블을 찾아 보도록 하겠습니다 동일한 명으로 되어 있을 경우만 찾는 예제입니다 "=" 을 사용했는 줄 알았는데 이제보니 LIKE로 적었네요 % 없는 LIKE 문을 사용했네요; SYSOBJECTS 테이블의 TYPE 컬럼 값의 의미에 대하여 궁금하신 분들을 위해 어떤 값들이 있는지 조회 해 보았습니다 [Type 컬럼의 값들의 의미] D - 기본값 또는 DEFAULT 제약 조건 F - FOREIGN KEY 제약 조건 FN - 스칼라 함수 IF - 인라인 테이블 함수 IT - 내부 테이블 K - PRIMARY KEY 또는 UNIQUE 제약 조건 P - 저장 프로시저 S - 시스템 테이블 SQ - 서비스 큐 TF - 테이블 함수 TR..

프로그래밍/DB 2017.09.01

[MS-SQL] 프로시저 커서(CURSOR) 사용 법

MS-SQL 프로시저 커서(CURSOR) 사용 법 에 대하여 알아봅시다 연말정산 계산 로직이나 연차 계산을 위해서 프로시저 커서(cursor) 를 사용하기도 합니다 개발 중 자주 사용되지는 않지만, 한번씩 사용되는 커서에 대하여 알아 보도록 합니다 단순히 조회 된 내용을 PRINT 명령어를 사용하여 메시지로 출력되게 하였습니다 실행하면 다음과 같은 결과 메시지를 볼 수 있습니다 DECLARE cur CURSOR FOR /****** 대상 조회 시작**********/ SELECT '1' COL1, 'A' COL2 UNION SELECT '2' COL1, 'B' COL2 /****** 대상 조회 끝************/ OPEN cur DECLARE @COL1 VARCHAR(10) DECLARE @COL..

프로그래밍/DB 2017.08.31

[MS-SQL] 세로 데이터 가로로 한 컬럼에 담기 - FOR XML PATH

여러 줄의 데이터를 한 컬럼 안에 담고 싶을 때 사용 됩니다 예를 들어 회의정보MST 테이블이 있고, 회의 참석자 정보 테이블이 있습니다그런데 회의 참석자 정보 테이블에는 한 레코드에 한 사람정보가 담겨 있을 경우이 참석자 정보들을 한 컬럼에 구분자로 하여 모두 보여 주고 싶을 때 사용 됩니다 WITH T_TABLE01 AS(SELECT '1' COL1, '가' COL2 UNION SELECT '1' COL1, '나' COL2 UNION SELECT '2' COL1, '다' COL2 ) SELECT A.COL1 , (SELECT ', ' + A1.COL2 FROM T_TABLE01 A1 WHERE (A1.COL1 = A.COL1) FOR XML PATH ('')) COL2_1 , STUFF((SELECT..

프로그래밍/DB 2017.08.29

[MS-SQL] 순서 매기기 - ROW_NUMBER() OVER

[MSSQL] 순서 매기기 - ROW_NUMBER() OVER 이런 예는 싫지만 예를 들어 과목별 등수를 매겨야 할 때가 있습니다 그런 경우 등에 사용 됩니다 왼쪽 데이터를 가지고, 오른쪽 처럼 과목별 등수를 추가 하고 싶을때 사용합니다 이제 쿼리를 보겠습니다 WITH T_TABLE01 AS (SELECT '수학' AS '과목', '철수' AS '이름', 100 AS '점수' UNION SELECT '수학' AS '과목', '영희' AS '이름' , 90 AS '점수' UNION SELECT '과학' AS '과목', '철수' AS '이름', 50 AS '점수' UNION SELECT '과학' AS '과목', '영희' AS '이름', 80 AS '점수' ) SELECT ROW_NUMBER() OVER(PA..

프로그래밍/DB 2017.08.29