최근 업데이트:2017-09-14
출처: 인터넷
작성자: 사용자
키워드:
네트워크 프로그래밍
데이터베이스 합성
SQL 날짜 시간 빼기 문 이 자습서에서는 데이터베이스 자습서 오의 날짜를 DateDiff 함수 활용, 다음은 n에 대해 작성 Mssql 날짜 빼기 방법. SQL에서 두 날짜 빼기 1, 일의 차이 Trunc (sysdate, 'yyyy')를 선택-듀얼;에서 to_date (' 2009-01-04 ', ' YYYY-MM-DD ') 2, 개월 수의 차이 듀얼;에서 Months_between (trunc (sysdate, 'mm'), to_date (' 2009-01 ', ' yyyy-mm '))를 선택 3. 년의 차이 선택 하는 Trunc ((Months_between (Trunc (sysdate, 'DD'), to_date (' 2009-01-01 ', ' yyyy-mm-dd ')) / 12)에서 듀얼;
4, DateDiff ()는 날 '2008.08.25', '2008.09.01' 선택
5, 선택 DateDiff (두 번째, 2009-8-25 12시 15분: 12 ', 2009-9-1 7시 18분: 20 ')-초의 차이 반환 합니다 6, DateDiff 선택 (분, 2009 년 8 월 25 일 12시 15분: 12 ', 2009-9-1 7시 18분: 20 ')-분의 차이 반환 합니다 7, DateDiff 선택 (시간, 2009 년 8 월 25 일 12시 15분: 12 ', 2009-9-1 7시 18분: 20 ')-시간의 차이 반환 합니다
질문 3: DateDiff 선택 (2009 년 8 월 25 일 12시 15분: 12 ', 2009-9-1 7시 18분: 20 ')
예제 2
술집을 사용 하 여 Difday로 선택 별개 DateDiff (일, ' 2009-3-12 ', ' 2009-3-15 ') 제목에서 결과: 3
DateTime, DateTime;으로 @dt2로 @dt1을 선언 @dt1 선택 = ' 2008-8-4 9시 36분: 41 ', @dt2 = ' 2008-8-2 9시 33분: 39 ';
int로 @days, @hours int로, int, int;로 @seconds로 @minutes를 선언
@seconds 설정 = DateDiff (2, @dt2, @dt1); @days 설정 = @seconds / (24 * 60 * 60) @seconds 설정 = @seconds-@days * 24 * 60 * 60 @hours 설정 @seconds = /(60 * 60); @seconds 설정 = @seconds-@hours * 60 * 60 @minutes 설정 = @seconds/60; @seconds 설정 = @seconds-@minutes * 60; 변환 (varchar, @days) + '일' + convert (varchar, @hours) + '시간' + convert (varchar), @minutes 선택) + '분' + 변환 (varchar), @seconds) + '초';
예를 들어 살펴보겠습니다
나는 4 개의 필드가 있는 테이블: 시작 일, 시작 시간, 도착 일, 도착 시간 (이 4 개의 분야는 varchar 형식)
예: 레코드: 1 16시 2 12시 20분
내 목적은 선택 (도착 일 + 도착 시간)를 사용 하 여-(시작 일 + 시작 시간) 테이블에서 시간으로
예를 들어 이전 레코드는 (2*24:00+12:20)-(24:00+16:00) = 20시
이러한 SQL 문을 작성 합니까???
@t 테이블을 선언 ( Beginday int BeginTime varchar (20) Endday int Endtime varchar (20) )
삽입 @t 1, ' 16:00 ', 2, ' 12:20 '을 선택 유니온 1, ' 3:00 ', 3, ' 19:10 ' 선택
선택 날짜 = rtrim (날짜/60) + ': ' rtrim (날짜 %60) + 보낸 사람 (날짜 선택 = datediff (미, 1, dateadd (d, endday-beginday, beginday)-begintime + endtime) @t에서) t
날짜 ------------------------- 20:20 64:10
방법 2
@t 테이블 (시작 일 varchar (10), 시작 시간 varchar (10), 도착 일 varchar (10), 도착 시간 varchar (10)) 선언 @t 선택 '1', ' 16:00 ', '2', ' 12:20 ' 삽입
--시작 한 일은 31 보다 큰 경우 도착 일을 선택 * + DATEPART (hh, 도착 시간)-시작 일 * 24-datepart (hh, 시작 시간) @t에서