일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 백트래킹
- 소프티어
- 백준
- 6987
- dfs
- 처우협의
- OFFSET
- 기술면접
- Docker
- 성적평가
- boj #19237 #어른 상어
- 매개변수탐색
- 퇴사통보
- 파라메트릭
- msSQL
- softeer
- @P0
- 경력
- 처우산정
- 오퍼레터
- incr
- BOJ
- 이분탐색
- BFS
- compose
- 연결요소
- 13908
- Kafka
- 물채우기
- upper_bound
- Today
- Total
목록데이터베이스/MsSql (7)
기술 블로그
특정 열을 활용하여 중복된 행(데이터) 찾기 SELECT [열 이름 A] FROM [테이블 이름] GROUP BY [열 이름 A] HAVING COUNT([열 이름 A]) > 1;
해당 연도의 일 수와 like 사용에 좋은 'yyyyMM%' 문자열 얻기 @START_DATE 2021-01-01 00:00:00.000 @END_DATE 2021-12-31 00:00:00.000 @DAY_DIFF 365 @MONTH_AGO_YYYYMM_LIKE 202101% DECLARE @MONTH_DAY_COUNT INT, @MONTH_AGO DATETIME, @MONTH_AGO_YYYYMM_LIKE VARCHAR(100) DECLARE @START_DATE DATETIME, @END_DATE DATETIME, @DAY_DIFF INT DECLARE @PIVOT_DATE DATETIME -- yyyy-MM-01 형식으로 입력하여, 해당 연도의 일 수와 -- like에 사용하기에 좋은 yyyyMM%..
DECLARE @START_DATE DATETIME ,@END_DATE DATETIME -- @START_DATE와 @END_DATE를 바꿔가면서 활용 SET @START_DATE = '20210804'; SET @START_DATE = CONVERT(DATETIME, CONVERT(VARCHAR(10), DATEPART ( YYYY , @START_DATE )) + '-' + CONVERT(VARCHAR(10), DATEPART( MM , @START_DATE )) +'-' + CONVERT(VARCHAR(10), DATEPART( DD , @START_DATE ))); SET @END_DATE = '20210804'; SET @END_DATE = CONVERT(DATETIME,CONVERT(VARCH..
DB에서 Data가 잘 SELECT 되는지 확인하기 위해 테스트로 게시판에서 글 조회를 해봤는데, 로그에서 위와 같은 오류가 발생하여 조회되지 않았다. 또한, 로그에 찍히는 실행 쿼리문에는 값(value)가 잘 들어갔지만, 에러가 발생했다면서 에러 쿼리문에는 ?가 있었다. 알고 보니, 처음에는 아래와 같이 작성하였었다. OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY 하지만, OFFSET ~ ROWS FETCH NEXT ~ ROWS ONLY는 ORDER BY와 항상 같이 쓰여야 되고, 아래처럼 고치니 제대로 Data들이 출력됐다. ORDER BY ~ OFFSET 0 ROWS FETCH NEXT 20 ROWS ONLY
@NEXT_MONTH에 '2021-04-07' 형식(yyyy-MM-dd)처럼 입력하고 실행시키면, 2021-04-01 00:00:00.000, 2021-04-30 23:59:59.000 처럼 출력한다. 즉, MM월에 대한 1일 00:00:00과 ~ 마지막 일 23:59:59을 출력. DECLARE @NEXT_MONTH DATETIME, @NEXT_MONTH_FIRST_DAY DATETIME, @NEXT_MONTH_LAST_DAY DATETIME SET @NEXT_MONTH = DATEADD(MM, +1, GETDATE()) --SET @NEXT_MONTH = '2021-06-01' SET @NEXT_MONTH_FIRST_DAY = CONVERT(VARCHAR(50), DATEADD(D, -DAY(@NEX..
select convert(varchar(8), getdate(), 112) + replace(convert(varchar(8), getdate(), 108), ':', '' ) '연월일시분초'; select convert(varchar(8), getdate(), 112) + replace(convert(varchar(8), getdate(), 108), ':', '' ) '연월일시분초'; 예시)20210122133030
https://h5bak.tistory.com/24 이 글은 위의 주소를 참고하여 제가 알아볼 수 있게 요약한 것입니다. 위의 글을 보시길 바랍니다. 마치 Oracle의 auto_increment(시퀀스?, row 자동 증가) 같은 개념 1. 현재 IDENTITY의 값을 확인(변경 X) DBCC CHECKIDENT(테이블명, NORESEED) 2. IDENTITY의 값을 1로 초기화(아래의 예시처럼 3번째 자리에 0을 넣을 경우) 현재 존재하는 데이터의 MAX(SEQ)를 마지막 파라미터에 넣어주면 자동으로 그 다음 번호가 일련번호로 생성됨 -- 3번째 매개변수 자리에 초기화시킬 값을 넣는다.(넣고 싶은 값)DBCC CHECKIDENT(테이블명, RESEED, 0) 3. IDENTITY의 값이 현재 컬럼보..