복붙노트

[SQL] 간단한 날짜 시간 SQL 쿼리

SQL

간단한 날짜 시간 SQL 쿼리

어떻게 특정 범위 내에서 날짜 시간 데이터베이스 필드를 조회 할 수 있습니까?

나는 SQL 서버 2005을 사용하고 있습니다

아래의 오류 코드

SELECT * 
  FROM TABLENAME 
 WHERE DateTime >= 12/04/2011 12:00:00 AM 
   AND DateTime <= 25/05/2011 3:53:04 AM

나는 특정 시간 범위 내에서 행을 얻을 필요가 있습니다. 예를 들면 10 분의 시간 범위.

'12'근처의 구문이 잘못되었습니다와 현재 SQL 돌아갑니다. "

해결법

  1. ==============================

    1.당신은 작은 따옴표 기호를 놓친 :

    당신은 작은 따옴표 기호를 놓친 :

    SELECT * 
    FROM TABLENAME 
    WHERE DateTime >= '12/04/2011 12:00:00 AM' AND DateTime <= '25/05/2011 3:53:04 AM'
    

    또한, ISO8601 형식 YYYY-MM ISO 형식을 사용하는 것이 좋습니다 : mm : ss.nnn [Z]이 하나가 서버의 지역 문화에 의존하지 않으므로.

    SELECT *
    FROM TABLENAME 
    WHERE 
        DateTime >= '2011-04-12T00:00:00.000' AND 
        DateTime <= '2011-05-25T03:53:04.000'
    
  2. ==============================

    2.당신은 당신이 날짜로 넘기려고 문자열 따옴표가 필요합니다, 당신은 여기 BETWEEN 사용할 수 있습니다 :

    당신은 당신이 날짜로 넘기려고 문자열 따옴표가 필요합니다, 당신은 여기 BETWEEN 사용할 수 있습니다 :

     SELECT *
       FROM TABLENAME
      WHERE DateTime BETWEEN '04/12/2011 12:00:00 AM' AND '05/25/2011 3:53:04 AM'
    

    형식을 지정하면서 명시 적으로 날짜로 문자열을 변환하는 방법에 대한 예는 다음과 같은 질문에 답을 참조하십시오 :

    날짜 변환은 SQL Server 문자열

  3. ==============================

    3.이는 2005 년과 2008 년 모두 SQL 서버에서 나를 위해 일했다 :

    이는 2005 년과 2008 년 모두 SQL 서버에서 나를 위해 일했다 :

    SELECT * from TABLE
    WHERE FIELDNAME > {ts '2013-02-01 15:00:00.001'}
      AND FIELDNAME < {ts '2013-08-05 00:00:00.000'}
    
  4. ==============================

    4.당신은 코드 아래에 실행할 수 있습니다

    당신은 코드 아래에 실행할 수 있습니다

    SELECT Time FROM [TableName] where DATEPART(YYYY,[Time])='2018' and DATEPART(MM,[Time])='06' and DATEPART(DD,[Time])='14
    
  5. ==============================

    5.

    SELECT * 
      FROM TABLENAME 
     WHERE [DateTime] >= '2011-04-12 12:00:00 AM'
       AND [DateTime] <= '2011-05-25 3:35:04 AM'
    

    이 당신의 테이블에서하지 작업, 제발 스크립트를 않는 경우 여기를 게시 할 수 있습니다. 이것은 우리가 빨리 당신에게 정확한 답변을 얻을 도움이 될 것입니다.

  6. ==============================

    6.

    select getdate()
    
    O/P
    ----
    2011-05-25 17:29:44.763
    
    select convert(varchar(30),getdate(),131) >= '12/04/2011 12:00:00 AM'
    
    O/P
    ---
    22/06/1432  5:29:44:763PM
    
  7. ==============================

    7.다른 사람은 이미 SQL 서버에서 날짜 리터럴은 작은 따옴표로 둘러싸여 필요 말했다,하지만 난 당신이 25 월과 5로 볼 수있다, 문제는 그 (귀하의 월 / 일 호환 문제 문제 두 가지 방법으로 해결을 추가하고 싶었 일) :

    다른 사람은 이미 SQL 서버에서 날짜 리터럴은 작은 따옴표로 둘러싸여 필요 말했다,하지만 난 당신이 25 월과 5로 볼 수있다, 문제는 그 (귀하의 월 / 일 호환 문제 문제 두 가지 방법으로 해결을 추가하고 싶었 일) :

  8. ==============================

    8.당신이 수출 SQL 데이터하려고하는 액세스 파일을 엽니 다. 거기에 어떤 쿼리를 삭제합니다. 매번 당신은 당신이 다시 SQL 내보내기 마법사를 실행하기 전에 제거해야합니다 액세스 DB에 쿼리를 생성, SQL Server 가져 오기가 실패하는 경우에도 마법사 실행합니다.

    당신이 수출 SQL 데이터하려고하는 액세스 파일을 엽니 다. 거기에 어떤 쿼리를 삭제합니다. 매번 당신은 당신이 다시 SQL 내보내기 마법사를 실행하기 전에 제거해야합니다 액세스 DB에 쿼리를 생성, SQL Server 가져 오기가 실패하는 경우에도 마법사 실행합니다.

  9. from https://stackoverflow.com/questions/6119369/simple-datetime-sql-query by cc-by-sa and MIT license