DataBase/mssql 7

[MSSQL] STRING_SPLIT 입력 순서대로 자르기

MS SQL의 STRING_SPLIT 함수는 문자열을 지정한 구분자 기준으로 나눈 결과를 반환한다. 그러나 STRING_SPLIT 함수는 결과의 출력 순서를 보장하지 않는, 즉 데이터베이스의 내부 구현 및 실행 계획에 따라 임의의 순서로 결과가 출력된다. 서비스를 운영하다보면 다른 기능에서 받은 파라미터 순서대로 결과를 출력해야 할 때가 있다. 만약 사용하는 SQL Server 버전이 2022라면 아래와 같이 새로 추가된 옵션(enable_ordinal)으로 출력 순서를 제어할 수 있을지 모른다. STRING_SPLIT ( string , separator [ , enable_ordinal ] ) SELECT * FROM STRING_SPLIT('Lorem ipsum dolor sit amet.', ' ..

DataBase/mssql 2023.07.07

[MSSQL] 컬럼 검색하기

특정 컬럼에 하나의 단어 검색 로직 --입력받을 파라미터 DECLARE @str NVARCHAR(MAX) SELECT * FROM table WHERE column LIKE '%'+@str+'%' 특정 컬럼에 입력 단어들을 검색하는 로직 --입력받을 파라미터 DECLARE @str NVARCHAR(MAX) SELECT * FROM table WHERE column LIKE (SELECT '%' + STRING_AGG(value, '%') +'%' FROM STRING_SPLIT(@str,',') 입력 단어 모두 특정 컬럼에 존재해야 한다. 여러 컬럼에 입력 단어들을 검색하는 로직 --입력받을 파라미터 DECLARE @str NVARCHAR(MAX) SELECT * FROM table WHERE ( (SE..

DataBase/mssql 2023.07.05

MSSQL : FORMAT함수

2023.06.02 - [DataBase/mssql] - CONVERT, FORMAT함수 : 날짜(DATE) 포맷 변환 CONVERT, FORMAT함수 : 날짜(DATE) 포맷 변환 1.CONVERT CONVERT 함수 CONVERT 함수는 데이터 형식을 변환하기 위해 사용된다. 날짜와 시간 데이터 형식을 변환하는 데 자주 사용되며, 다양한 날짜 및 시간 형식을 지원하고있다. CONVERT 함수의 기본 bravesuccess.tistory.com 위 포스팅을 작성 중에 FORMAT 함수가 다양한 서식 변환을 제공하여 더 자세히 알아보았더니, FORMAT 함수는 날짜, 숫자, 문자열, 시간 외에도 다른 데이터 유형에 대한 서식 지정을 제공하고 있었다. 때문에 FORMAT 함수를 사용하여 다양한 데이터 유형..

DataBase/mssql 2023.06.07

CONVERT, FORMAT함수 : 날짜(DATE) 포맷 변환

1.CONVERT CONVERT 함수 CONVERT 함수는 데이터 형식을 변환하기 위해 사용된다. 날짜와 시간 데이터 형식을 변환하는 데 자주 사용되며, 다양한 날짜 및 시간 형식을 지원하고있다. CONVERT 함수의 기본 구문은 다음과 같다: CONVERT(data_type, expression, style) data_type : 변환하려는 데이터의 형식 expression : 실제 데이터 값 style : 변환할 날짜 및 시간 형식. CONVERT 함수 사용 예제 1. 날짜 가장 일반적인 사용 사례 중 하나인 날짜 형식을 변환하는 것을 알아보자. 예를 들어, '2023-06-01' 날짜를 '01-Jun-2023'과 같은 형식으로 변환하고 싶다고 할 때, CONVERT 함수를 사용하여 다음과 같이 변환..

DataBase/mssql 2023.06.02

SQL Server의 OUTPUT 절: 데이터 변경 작업의 결과 추적 및 활용

sql 튜닝 관련 강의를 듣다가 OUTPUT절에 대해서 뒤늦게 알게 되었다. DELETE, UPDATE, INSERT 작업 뒤에 바로 해당 컬럼을 조회 할 수 있는 좋은 기능이라 이에 대해 알아보았다. 1.개요 OUTPUT 절은 INSERT, UPDATE 및 DELETE 문에서 사용할 수 있다. 이는 데이터 변경 작업의 결과를 반환하는 데 사용된다. 이를 통해 변경된 데이터의 상태를 확인하거나 다른 작업에 활용할 수 있다. 2.구문 INSERT INSERT INTO 테이블명 (컬럼1, 컬럼2, ...) OUTPUT inserted.컬럼1, inserted.컬럼2, ... VALUES (값1, 값2, ...) DELETE DELETE FROM 테이블명 OUTPUT deleted.컬럼1, deleted.컬럼..

DataBase/mssql 2023.05.23

MSSQL DATEDIFF 함수를 활용한 날짜 간격 계산

MSSQL 데이터베이스에서 날짜와 시간을 처리하고 계산해야 하는것은 매우 자주 있는 일이다. MSSQL은 날짜 간의 차이를 계산하는 다양한 함수들을 제공한다. 이번 글에서는 그 중에서도 DATEDIFF 함수에 대해 알아보았다. DATEDIFF 함수는 두 날짜 사이의 차이를 계산하는 데 사용된다. 주로 날짜, 시간, 분, 초 등의 단위를 기준으로 기간을 계산할 때 활용된다. 함수의 기본 구문은 다음과 같다: DATEDIFF(datepart, startdate, enddate) datepart: 계산에 사용할 단위를 지정. 예를 들어, 'year'는 연도 간의 차이를 계산하고, 'month'는 월 간의 차이를 계산한다. startdate: 시작 날짜/시간. enddate: 종료 날짜/시간. datepart옵..

DataBase/mssql 2023.05.19

STRING_SPLIT [파라미터 잘라서 활용하기]

STRING_SPLIT 문자열을 지정된 구분 문자에 따라서 행으로 분할하는 테이블 반환 함수이다. SQL Server 2016 (13.x) 이상 버전에서만 지원된다. 구문 STRING_SPLIT ( string , separator [ , enable_ordinal ] ) 인자 string - 구분 문자로 자를 대상 문자열 separator - 구분 문자 (* 단일 문자 : varhar(1), char(1) ...) enable_ordinal - Azure 또는 SQL Server 2022(16.x)부터 사용가능 - 시퀀스 값을 출력 할지 말지 정하는 옵션 값. 1로 지정하면 1부터 시작되는 시퀀스 열이 출력된다. 사용법 기본 사용법은 매우 간단하다. SELECT value FROM STRING_SPLI..

DataBase/mssql 2023.03.02