SQL

· SQL
인공지능이 똑똑하긴 하네요. 그래서 편리하기도 하고 배울것도 많은것 같습니다.테이블 설계에 대해서 ChatGPT와 질의응답한 부분 공유해 봅니다. 질문>> ms-sql 테이블 설계시 8bit씩 끊어서 설계하면 성능에 이점이 있나요? 예를들어 nvarchar(8), nvarchar(16), nvarchar(32)... 답변 MS-SQL에서 테이블을 설계할 때, nvarchar(n) 타입을 8바이트 단위로 끊어서(nvarchar(8), nvarchar(16), nvarchar(32) 등) 설계한다고 해서 성능이 반드시 향상되는 것은 아닙니다. 다만, 몇 가지 고려해야 할 점이 있습니다.🔹 결론: nvarchar(n)을 8바이트 단위로 맞추는 것은 성능 최적화와 직접적인 관련이 없음nvarchar는 가변 길..
· SQL
FORMAT 함수는 SQL Server 2012 이상에서 지원되며, 날짜, 시간, 숫자 등 다양한 데이터를 특정 형식으로 변환하여 문자열로 반환하는 매우 유용한 함수입니다FORMAT(value, format, [culture]) value: 변환할 값 (날짜, 시간, 숫자 등).format: 변환할 형식. .NET의 표준 서식 문자열을 사용합니다.culture (선택): 지역 문화권을 지정하는 문자열(예: 'en-US', 'ko-KR'). 생략 시 서버의 기본 문화권이 사용됩니다.주요 형식format에 사용할 수 있는 형식 문자열은 아래와 같습니다.1. 날짜/시간 서식서식 문자열설명예시 (2025-01-22 14:45:30)yyyy4자리 연도2025yy2자리 연도25MM2자리 월01dd2자리 일22hh1..
· SQL
문법CONCAT(string1, string2, ..., stringN) string1, string2, ..., stringN: 연결할 문자열 또는 값을 지정합니다.최소 2개 이상의 인수를 받아야 하며, 최대 인수 개수는 254개입니다.특징자동 데이터 타입 변환: 숫자, 날짜, 또는 기타 데이터 타입을 문자열로 자동 변환하여 연결합니다.NULL 처리: NULL 값은 빈 문자열로 처리되며, 결과에 영향을 미치지 않습니다.간단한 사용법: + 연산자보다 직관적이고, 데이터 타입 변환을 별도로 지정할 필요가 없습니다.사용 예제1. 기본 문자열 연결SELECT CONCAT('Hello', ' ', 'World') AS Result;-- 결과: Hello World2. 숫자와 문자열 연결SELECT CONCAT(..
· SQL
아래와 같이 파라메타 시작일, 종료일을 조건으로 지정하면 됩니다. SELECT * FROM [테이블명] WHERE 컬럼종료일 >= @시작일 AND 컬럼시작일
· SQL
1. SELECT TOP 갯수를 변수로 받아서 사용하는 방법 Declare @ROW_COUNT int = 30 SELECT TOP(@ROW_COUNT) * FROM [테이블명] 2. WHERE 조건에 변수 있으면 해당 컬럼이 검색되고, 값이 없으면 전체가 검색되는 방법 parameter @USE_FLAG_IN SELECT * FROM [테이블명] WHERE ((@USE_FLAG_IN = '' AND 1=1) OR (@USE_FLAG_IN '' AND USE_FLAG = @USE_FLAG_IN)) AND CO_CODE = @CO_CODE AND DIV_CODE = @DIV_CODE ORDER BY FULL_ORDER 3. WHERE 조건에 검색구분, 검색 값을 동적으로 받아서 사용하는 방법 DECLARE ..
· SQL
특정날짜를 입력 받아 주간 기준으로 연장근무 가능시간 계산하는 로직을 공유합니다. 1. 주간 연장근무 가능시간 계산 하기 1) 계산식 (모든항목 분으로 환산하여 계산) - @가능시간 = @주간최대근무시간 - @근무시간 + @휴가시간 - @연장근무시간 2) 주간최대근무시간 (법정근로시간 52시간 기준) - @주간최대근무시간 = 52 * 60 3) 근무시간 (weekday를 이용하여 계산) - datepart(weekday)는 일요일 시작으로 순서대로 1(일),2(월),3(화),4(수),5(목),6(금),7(토) 숫자값을 출력 한다. - @근무시간 = 8 * (@weekday -1) * 60 4) 휴가시간 5) 연장근무시간 2. 쿼리 예시 CREATE FUNCTION [dbo].[GET_AVAILABLE_T..
· SQL
1. Service Broker 활성화 ALTER DATABASE MyDatabase SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE GO SELECT is_broker_enabled FROM sys.databases WHERE name = 'MyDatabase' 출처: https://stackoverflow.com/questions/29172828/can-i-turn-on-service-broker-on-all-my-databases
· SQL
동적쿼리를 사용하지 않고 전체조건 및 부분조건을 조회할 수 있는 쿼리 /* @param1 값 범위 '' : 전체 0 : 사용안함 1 : 사용 */ Declare @param1 SELECT * FROM 테이블명 A WHERE ((@param1 = '' AND 1=1) OR (@param1 '' AND A.조건필드 = @param1))
100ksoft
'SQL' 카테고리의 글 목록