DB
-
(QueryDSL) 현재 날짜와 비교(between)DB/JPA 2021. 3. 3. 13:23
(이전에 작성했던 글은 진짜 메모장이었어서 다시 정리해봅니다.) DB에 시작일과 종료일이 있고, 현재날짜와 비교해서 아직 유효한 권한만 가져오고 싶은 경우가 있다고 가정하자. 1. JPARepository 활용시 service 단에서 현재 날짜를 보낸 뒤, repository에서 활용하는 방법 Service.java @Service @RequiredArgsConstructor public class Service{ private final AuthRepository repository; public List getAuthListByDate(){ return repository.findByStartDateLessThanEqualAndEndDateGreaterThanEqual(new Date(), new D..
-
[JPA] 조회 결과 (select result) map으로 받기DB/JPA 2021. 1. 6. 14:47
[JPA] 조회 결과 (select result) map으로 받기 아래와 같은 방식으로 select 결과를 list가 아닌, map으로 받아와서 사용할 때 for문을 돌필요 없이 간편하게 조회할 수 있음 ... @Resource(name = "deptJpaQueryFactory") private final JPAQueryFactory queryFactory; QDeptEntity dept = QDeptEntity.DeptEntity; ... @Override public Map getComDistinct() { return queryFactory .from(dept) .distinct() .where(Expressions.currentDate().between(dept.startDate, dept.end..
-
[MSSQL] 월 더하기/빼기, 첫째 날/마지막 날DB/MSSQL 2020. 12. 11. 13:32
1. 월 더하기/빼기 DECLARE @RESULT NVARCHAR(50) SET @RESULT = DATEADD(MONTH, -3, GETDATE()) -- 20.12.11기준 -- 출력 결과 : 09 11 2020 1:07PM DATEADD(datepart, number, date) 많이 쓰는 datepart year(=yy, yyyy) month(mm, m) day(dd, d) 2. 이번달 월 첫째 날/마지막 날 DECLARE @START NVARCHAR(50) DECLARE @END NVARCHAR(50) --기준일 : 2020-12-11 --이번 달 첫째 날짜(1일) SET @START = FORMAT(DATEADD(MM, DATEDIFF(MM, 0, GETDATE()), 0), 'yyyyMMdd..
-
[MSSQL] 날짜 Date Format 지정/변환(FORMAT, CONVERT)DB/MSSQL 2020. 12. 11. 11:52
1. FORMAT FORMAT(value, format [, culture]) FORMAT(변환할 타입, 포맷) DECLARE @DATETEST1 NVARCHAR(30) DECLARE @DATETEST2 NVARCHAR(30) -- 보통 DATETIME을 쓸 때 출력되는 양식 SET @DATETEST1 = FORMAT(GETDATE(), 'yyyy-MM-dd hh:mm:ss.fff') -- 보통 많이 쓰는양식 SET @DATETEST2 = FORMAT(GETDATE(), 'yyyyMMdd') PRINT @DATETEST1 PRINT @DATETEST2 출력결과 더보기 culture 있는 예시 DECLARE @d DATE = '11/22/2020'; SELECT FORMAT( @d, 'd', 'en-US'..