08:30분을 기점으로 변경되게 하려고합니다.
예를 들어
2016-02-11 09:00:00 -> 결과값 160211
2016-02-11 20:00:00 -> 결과값 160211
2016-02-12 02:00:00 -> 결과값 160211
2016-02-12 08:00:00 -> 결과값 160211
2016-02-12 08:29:59 -> 결과값 160211
2016-02-12 08:30:00-> 결과값 160212
2016-02-12 20:30:00 -> 결과값 160212
이런식으로 나오게 하려는데..몇일 붙잡고있어도 잘안되서요..ㅠㅠ 가능할지궁금합니다..
Comment 4
-
Terry
2016.02.11 17:32
-
고구망
2016.02.12 16:34
감사합니다 많은 도움이 되었습니다 ^^;
-
소라소라
2016.02.12 12:45
시간연산을 이용하셔도 괜찮을것 같습니다.
;with tblA(Date) As
(
Select '2016-02-11 09:00:00' Union All
Select '2016-02-11 20:00:00' Union All
Select '2016-02-12 02:00:00' Union All
Select '2016-02-12 08:00:00' Union All
Select '2016-02-12 08:29:59' Union All
Select '2016-02-12 08:30:00' Union All
Select '2016-02-12 20:30:00'
)
select CONVERT(varchar, DATEADD(MINUTE, -510, date), 12) as date2
from tblA -
고구망
2016.02.12 16:34
감사합니다 많은도움됐습니다 ^^:
생산실적 관련된 테이블일 듯한 느낌이 -,-;;;
아침에 야<->주 교대 이후 시점을 하루의 시작으로 보는 형태죠?
(아니라면 미안합니다^^;;)
하기 쿼리 참고하세요...
---쿼리시작---
;with tblA(Date) As
(
Select '2016-02-11 09:00:00' Union All
Select '2016-02-11 20:00:00' Union All
Select '2016-02-12 02:00:00' Union All
Select '2016-02-12 08:00:00' Union All
Select '2016-02-12 08:29:59' Union All
Select '2016-02-12 08:30:00' Union All
Select '2016-02-12 20:30:00'
)
,tblB(Date,Date2) As
(
Select
a.Date
,Convert(Char(20)
,
(
Case When Convert(Integer,Replace(Right(Rtrim(a.Date),8),':','')) >= 83000
Then LEFT(a.Date,10)
Else
DATEADD(day,-1,Left(a.Date,10))
End
)
,120
)
From tblA a
)
Select a.Date
,a.Date2
, SubString(a.Date2,3,2)
+ SubString(a.Date2,6,2)
+ SubString(a.Date2,9,2)
As Date3
From tblB a
---쿼리끝---