SQL DATEDIFF 문법 및 시간 함수

3978 단어 datediff
발췌: http://apps.hi.baidu.com/share/detail/23841267
 
SQL DATEDIFF 문법 및 시간 함수 Sql 조회 당일, 이번 주, 이 달 기록
  • -- 조회 당일:  
  • select * from info where DateDiff(dd,datetime,getdate())=0   
  •   
  • - 24 시간 내 조회:  
  • select * from info where DateDiff(hh,datetime,getDate())<=24   
  •   
  • -- info 는 표 이름 이 고 datetime 은 데이터베이스 의 필드 값 입 니 다.  
  • --    :
    select * from info where DateDiff(dd,datetime,getdate())=0
    
    --  24    :
    select * from info where DateDiff(hh,datetime,getDate())<=24
    
    --info   ,datetime         

     
    Sql 코드 Powered by chenjiazi
  • -- 당일 기록 의 다른 유형 을 조회 하 는 방법  
  • SELECT *   
  • FROM j_GradeShop   
  • WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000')   
  •       AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1)   
  • ORDER BY GAddTime DESC   
  • --           
    SELECT *
    FROM j_GradeShop
    WHERE (GAddTime BETWEEN CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') 
          AND CONVERT(datetime, LEFT(GETDATE(), 10) + ' 00:00:00.000') + 1)
    ORDER BY GAddTime DESC

     
    DATEDIFF 함수:
    문법:
     
    DATEDIFF ( datepart , startdate , enddate )

    비고:
    enddate 에서 startdate 를 빼다.startdate 가 enddate 보다 늦 으 면 마이너스 로 돌아 갑 니 다.
    결과 가 전체 수치 범 위 를 넘 으 면 DATEDIFF 에 오류 가 발생 합 니 다.밀리초 에 대해 서 는 최대 24 일 20 시간 31 분 23.647 초 였 다.초 에 대해 서 는 최대 68 년 이다.
    분, 초, 밀리초 등 경계 계산 방법 으로 DATEDIFF 가 지정 한 결 과 는 모든 데이터 형식 에서 일치 합 니 다.결 과 는 플러스 마이너스 가 있 는 정수 로 첫 번 째 와 두 번 째 날 사이 의 datepart 경계 수 를 뛰 어 넘 는 것 과 같 습 니 다.예 를 들 어 1 월 4 일 (일요일) 과 1 월 11 일 (일요일) 사이 의 요일 은 1 이다.
     
    MSSQL 에서 테스트 가능:
    Sql 코드
  • - 두 시간 차 가 딱 24  
  • - 인쇄 방식  
  • print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')   
  •   
  • -- 조회 방식  
  • print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')  
  • --        24
    --     
    print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')
    
    --     
    print dateDiff(hh,'2009-1-1 0:0:0','2009-1-2 0:0:0')

     
    Sql 코드
  • -- 이 달 기록  
  • SELECT * FROM 표 WHERE datediff (month, [dateadd], getdate () = 0  
  •   
  • -- 이번 주 기록  
  • SELECT * FROM 표 WHERE datediff (week, [dateadd], getdate () = 0  
  •   
  • - 이 해 를 포함 한 검색 방식 은 같 습 니 다.  
  •    
  • --     
    SELECT * FROM   WHERE datediff(month,[dateadd],getdate())=0
     
    --     
    SELECT * FROM   WHERE datediff(week,[dateadd],getdate())=0
    
    --              

     
    sql 서버 의 시간 함수 1.   현재 시스템 날짜, 시간     select getdate()  
     
    2. dateadd   지정 한 날짜 에 일정 시간 을 더 한 토대 에서 새로운 datetime 값 을 되 돌려 줍 니 다.    날짜 에 이틀 을 더 하 다    select dateadd(day,2,'2004-10-15')   --복귀: 2004 - 10 - 17 00: 00: 00.000
     
    3. datediff 는 두 개의 지 정 된 날짜 와 시간 경 계 를 되 돌려 줍 니 다.    select datediff(day,'2004-09-01','2004-09-18')    --복귀
     
    4. datepart 는 지정 한 날 짜 를 대표 하 는 지정 한 날짜 부분의 정 수 를 되 돌려 줍 니 다.   SELECT DATEPART(month, '2004-10-15')   --복귀
     
    5. datename 은 지정 한 날 짜 를 나타 내 는 지정 한 날짜 부분의 문자열 을 되 돌려 줍 니 다.    SELECT datename(weekday, '2004-10-15')   --금요일
     
    6. day (), month (), year () -- datepart 와 대조 해 볼 수 있다.
    select 현재 날짜 = convert (varchar (10), getdate (), 120), 현재 시간 = convert (varchar (8), getdate (), 114)
    select datename(dw,'2004-10-15')
    select 올해 몇 주 = datename (week, '2004 - 10 - 15')       ,오늘 은 무슨 요일 = datename (weekday, 2004 - 10 - 15)

    좋은 웹페이지 즐겨찾기