特定の日付のデータを抽出する方法です。
条件を指定したい対象のカラムが日付型、タイムスタンプ型となっている場合のWHERE句の指定方法になります。
前提条件
TB_SAMPLEテーブルにDATE型、TIMESTAMP型のカラムを持たせて、3レコード登録している状態です。
DESC TB_SAMPLE; ---------------- --------------------- ID NOT NULL NUMBER(3) SYOHIN VARCHAR2(12) BUY_ DATE DATE BUY_TIMESTAMP TIMESTAMP(6) SELECT SYOHIN AS 商品 , TO_CHAR(BUY_DATE, 'YYYY/MM/DD HH24:MI:SS') AS "購入日(DATE型)" , TO_CHAR(BUY_TIMESTAMP, 'YYYY/MM/DD HH24:MI:SS.FF3') AS "購入日(TIMESTAMP型)" FROM TB_SAMPLE ; 商品 購入日(DATE型) 購入日(TIMESTAMP型) ---------- --------------------- ------------------------ コーヒー 2019/02/01 09:32:55 2019/02/01 09:32:55.000 おにぎり 2019/02/02 09:32:55 2019/02/02 09:32:55.000 ジュース 2019/02/03 09:32:55 2019/02/03 09:32:55.000
DATE型のカラムを使ってデータを抽出する
年月日時分秒を指定して抽出(2019年2月2日9時32分55秒のデータを抽出)
SELECT SYOHIN AS "商品" ,TO_CHAR(BUY_DATE, 'YYYY/MM/DD HH24:MI:SS') AS "購入日(DATE型)" FROM TB_SAMPLE WHERE BUY_DATE = TO_DATE('20190202093255', 'YYYY/MM/DD HH24:MI:SS') ; 商品 購入日(DATE型) --------- -------------------- おにぎり 2019/02/02 09:32:55
年月日を指定して抽出(2019年2月2日のデータを抽出)
SELECT SYOHIN AS "商品" ,TO_CHAR(BUY_DATE, 'YYYY/MM/DD HH24:MI:SS') AS "購入日(DATE型)" FROM TB_SAMPLE WHERE TO_CHAR(BUY_DATE, 'YYYYMMDD') = '20190202' ; 商品 購入日(DATE型) --------- -------------------- おにぎり 2019/02/02 09:32:55
年月日を指定して抽出(2019年2月1日、2019年2月2日のデータを抽出)
SELECT SYOHIN AS "商品" ,TO_CHAR(BUY_DATE, 'YYYY/MM/DD HH24:MI:SS') AS "購入日(DATE型)" FROM TB_SAMPLE WHERE TO_CHAR(BUY_DATE, 'YYYYMMDD') BETWEEN '20190201' AND '20190202' ; 商品 購入日(DATE型) --------- -------------------- コーヒー 2019/02/01 09:32:55 おにぎり 2019/02/02 09:32:55
TIMESTAMP型のカラムを使ってデータを抽出する
年月日時分秒を指定して抽出(2019年2月2日9時32分55秒のデータを抽出)
SELECT SYOHIN AS "商品" ,TO_CHAR(BUY_TIMESTAMP, 'YYYY/MM/DD HH24:MI:SS') AS "購入日(TIMESTAMP型)" FROM TB_SAMPLE WHERE BUY_TIMESTAMP = TO_TIMESTAMP('20190202093255', 'YYYYMMDDHH24MISS') ; 商品 購入日(TIMESTAMP型) --------- ---------------------- おにぎり 2019/02/02 09:32:55
年月日を指定して抽出(2019年2月2日のデータを抽出)
SELECT SYOHIN AS "商品" ,TO_CHAR(BUY_TIMESTAMP, 'YYYY/MM/DD HH24:MI:SS') AS "購入日(TIMESTAMP型)" FROM TB_SAMPLE WHERE TO_CHAR(BUY_TIMESTAMP, 'YYYYMMDD') = '20190202' ; 商品 購入日(TIMESTAMP型) --------- ---------------------- おにぎり 2019/02/02 09:32:55
年月日を指定して抽出(2019年2月1日、2019年2月2日のデータを抽出)
SELECT SYOHIN AS "商品" ,TO_CHAR(BUY_TIMESTAMP, 'YYYY/MM/DD HH24:MI:SS') AS "購入日(TIMESTAMP型)" FROM TB_SAMPLE WHERE TO_CHAR(BUY_TIMESTAMP, 'YYYYMMDD') BETWEEN '20190201' AND '20190202' ; 商品 購入日(TIMESTAMP型) --------- ---------------------- コーヒー 2019/02/01 09:32:55 おにぎり 2019/02/02 09:32:55