programing

두 타임스탬프 사이에 있는 타임스탬프가 있는 레코드에 대한 oracle sql 쿼리

jooyons 2023. 8. 23. 21:46
반응형

두 타임스탬프 사이에 있는 타임스탬프가 있는 레코드에 대한 oracle sql 쿼리

String 형식의 타임스탬프가 두 개 있습니다.2015-05-06T15:39:00그리고.2015-04-06T15:39:00.

이 범위에 해당하는 타임스탬프가 있는 테이블의 모든 레코드를 쿼리할 수 있는 Oracle에 대한 SQL 쿼리란 무엇입니까?

그리고 다음과 같은 방법으로 사용할 수 있습니다.

SELECT *
FROM tab1
WHERE timestamps BETWEEN TO_DATE ('2015-05-06T15:39:00', 'YYYY-MM-DD"T"HH24:MI:SS') AND TO_DATE('2015-04-06T15:39:00', 'YYYY-MM-DD"T"HH24:MI:SS');
SELECT *
FROM yourTable
WHERE timestamps >= TO_DATE('2015-05-06T15:39:00', 'YYYY-MM-DD"T"HH24:MI:SS')
AND timestamps <= TO_DATE('2015-04-06T15:39:00', 'YYYY-MM-DD"T"HH24:MI:SS')

위의 답변 중 하나도 저에게 효과가 없었습니다.

하지만 먼저 당신이 가지고 있는 'T'를 '(공백)'로 바꾸고 저에게 효과가 있었던 아래 쿼리를 사용하세요.

    select * from tb1 
    where timestamps BETWEEN TO_DATE ('2015-05-06 15:39:00', 'YYYY-mm-dd HH24:MI:SS') 
                          AND TO_DATE('2015-04-06 15:39:00', 'YYYY-mm-dd HH24:MI:SS');

타임스탬프 열을 입력 타임스탬프 값과 비교하려면 TO_DATE 및 필수 형식 마스크를 사용하여 리터럴을 DATE로 변환해야 합니다.

세우다

SQL> CREATE TABLE t(A TIMESTAMP);

Table created.

SQL>
SQL> INSERT INTO t(A) VALUES(to_date('2015-04-10T15:39:00', 'YYYY-MM-DD"T"HH24:MI:SS'));

1 row created.

SQL> INSERT INTO t(A) VALUES(to_date('2015-05-01T15:39:00', 'YYYY-MM-DD"T"HH24:MI:SS'));

1 row created.

SQL> INSERT INTO t(A) VALUES(to_date('2015-03-01T15:39:00', 'YYYY-MM-DD"T"HH24:MI:SS'));

1 row created.

SQL> COMMIT;

Commit complete.

SQL> SELECT * FROM t;

A
----------------------------
10-APR-15 03.39.00.000000 PM
01-MAY-15 03.39.00.000000 PM
01-MAR-15 03.39.00.000000 PM

쿼리

SQL> SELECT *
  2    FROM t
  3   WHERE A BETWEEN
  4            to_date('2015-04-06T15:39:00', 'YYYY-MM-DD"T"HH24:MI:SS')
  5           AND
  6             to_date('2015-05-06T15:39:00', 'YYYY-MM-DD"T"HH24:MI:SS');

A
--------------------------------------------------------------------------
10-APR-15 03.39.00.000000 PM
01-MAY-15 03.39.00.000000 PM

그래서 필요한 행을 원하는 출력으로 받았습니다.

아래는 타임스탬프용이며 필요한 시간에 따라 변경할 수 있습니다.

SELECT * 
FROM tbl1 
WHERE timestamp BETWEEN to_date('21/11/2017 23:59:59','dd/MM/rrrr hh24:mi:ss')            
  AND to_date('21/12/2017 15:59:59','dd/MM/rrrr hh24:mi:ss');`

언급URL : https://stackoverflow.com/questions/30070691/oracle-sql-query-for-records-with-timestamp-that-falls-between-two-timestamps

반응형