아래와 같이 파라메타 시작일, 종료일을 조건으로 지정하면 됩니다. 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 ..
특정날짜를 입력 받아 주간 기준으로 연장근무 가능시간 계산하는 로직을 공유합니다. 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..
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
동적쿼리를 사용하지 않고 전체조건 및 부분조건을 조회할 수 있는 쿼리 /* @param1 값 범위 '' : 전체 0 : 사용안함 1 : 사용 */ Declare @param1 SELECT * FROM 테이블명 A WHERE ((@param1 = '' AND 1=1) OR (@param1 '' AND A.조건필드 = @param1))
연결된 서버 추가하는 스크립트 입니다. IF EXISTS(select * from sys.servers where name = N'DevServer') EXEC sp_dropserver 'DevServer', 'droplogins'; EXEC sp_addlinkedserver @server='DevServer', @srvproduct='', @provider='sqlncli', @datasrc='xxx.xxx.xxx.xxx(IP),xxxx(PORT)', @location='', @provstr='', @catalog='' GO EXEC sp_addlinkedsrvlogin @rmtsrvname= 'DevServer', @useself= 'false', @rmtuser = 'xx(계정)', @rmtpass..
테이블명세서 쿼리 입니다. 정부지원 산출물 자료에 사용하셔도 되고, 개발시 테이블스키마 참고할때 사용하면 유용하실거 같아요. Use 데이터베이스명 go SELECT d.value 테이블명 , a.TABLE_NAME 테이블ID , e.value 컬럼명 , a.COLUMN_NAME컬럼ID , case when a.CHARACTER_MAXIMUM_LENGTH IS null then a.DATA_TYPE else a.DATA_TYPE + '(' + case when ltrim(str(a.CHARACTER_MAXIMUM_LENGTH)) = '-1' then 'max' else ltrim(str(a.CHARACTER_MAXIMUM_LENGTH)) end + ')' end as DATATYPE , case when ..
1. REPLICATE, FORMAT 함수 이용하여 채번로직 구현 prepix + FORMAT(last_sno,REPLICATE('0',serial_len)) 2. 적용예 1) 셋업 테이블을 생성 2) last_sno 값을 업데이트 시킴 3) last_sno 값에 의해 사용할 autono 표시 4) 일련번호 형태 변경이 필요하면 Table의 자동계산 컬럼을 변경하면 됩니다. [autono] AS ((([prepix]+case [datetype] when 'YYMM' then CONVERT([char](4),getdate(),(12)) else '' end)+ltrim(isnull([delimiter],'')))+format([last_sno],replicate('0',[serial_len]))), 결과)..