본문 바로가기

프로그래밍/TSQL60

[MSSQL] 문자열 비교하기 ( 동일한 부분만 리턴하기 ) 두개의 문자열을 비교해서 동일한 부분만 출력하고 싶을 때 아래 방식으로 함수를 구현할 수 있습니다. 아래 예시는 동일한 문자열에 경우에 한해서 작성되었고, 목적은 아래와 같이 문자열이 입력되었을 때 '/' 문자열 기준으로 동일하게 분리된 문자열만 살리는 일종의 XOR 연산과 같은 동작을 구현하는데 있습니다. 문자열 1 : 가/나다/라/마/바사 문자열 2 : 가나다/라마/바사 결과 : 가나다/라마/바사 사용 기술 : CTE, 재귀, STUFF MSSQL, TSQL 로 문자열 만지기, 재귀(RECURSIVE) 구현하기 재밋네요 code 공유 드립니다. DECLARE @RESULT VARCHAR(100), @STR1 VARCHAR(100),@STR2 VARCHAR(100) DECLARE @SEP VARCHAR.. 2020. 4. 14.
[MSSQL] MDF, LDF 이동 / DB 상위 버전->하위 버전으로 이동 시 오류 발생 MSSQL에서 상위 버전 데이터 베이스를 하위로 이동하기 위해서는 데이터베이스 스크립트로 일괄 이동이 필요합니다. 과정 수행 중 오류가 발생해서 MDF/LDF를 이동하게 되었습니다. C:\Program Files\Microsoft SQL Server\Client SDK\ODBC\170\Tools\Binn>sqlcmd -S [서버] -i [경로] -o [로그경로] -U [ID] -P [비번] -d [데이터베이스] -V 17 발생한 오류 메시지. 파일 그룹 'PRIMARY'에 디스크 공간이 부족하여 데이터베이스 'TEMP_FOR_SPLIT'에 새 페이지를 할당할 수 없습니다. 파일 그룹의 개체를 삭제하거나, 파일 그룹에 파일을 추가하거나, 파일 그룹의 기존 파일에 대해 자동 증가를 설정하여 필요한 공간을 만.. 2020. 2. 21.
조인 조건절 위치에 따른 차이 설명 (SQL join where clause vs on clause) Left join 에서 Where 절에 조건이 들어가는 경우와 On 절에 조건이 들어가는 경우의 차이 하고자 합니다. 개념적 이해 대상의 범위를 먼저 지정하냐 나중에 지정하냐의 차이 (on -> where) Inner join 일 경우는 상관 없는 문제. outer join 일 경우에는 상관이 있음. Optimizer 는 이렇 게 해석합니다. WHERE 절: 조인한 후에 필터링(= null 포함 된 대상에 대해 null이 아닌 대상으로 필터링) ON 절 : 조인하기 전에 필터링(= 필터링 후 outer join결과 null 출력 가능) 조인의 기준(driving) 테이블의 조건은 on/where 어디든 동일 하지만 조인 대상 테이블의 조건은 on에 작성되어야 원하는 결과를 볼수 있다. ( where 절은.. 2020. 2. 14.
MSSQL 범위 지정하여 가져오기 테이블의 데이터를 N번째 레코드에서 N+ 번째 까지 가져오고자 할 때 아래 쿼리로 수행하면 결과를 받아올 수 있습니다. SELECT * FROM 테이블 ORDER BY (SELECT NULL) OFFSET [시작] ROWS FETCH NEXT [끝] ROWS ONLY; 사용예시 SELECT * FROM INFORMATION_SCHEMA.COLUMNS ORDER BY (SELECT NULL) OFFSET 0 ROWS FETCH NEXT 10 ROWS ONLY; SELECT * FROM INFORMATION_SCHEMA.COLUMNS ORDER BY (SELECT NULL) OFFSET 5 ROWS FETCH NEXT 15 ROWS ONLY; 결과 2020. 2. 7.