PL/SQLで日付を選択する処理を作ったのですが、正しく日付を取ることができません。
まず扱うデータをまとめます。
CREATE TABLE 商品構成マスタ(
商品コード VARCHAR2(3BYTE),
構成品 VARCHAR2(3BYTE),
適用開始日付 DATE,
個数 NUMBER(1,0)
)
INSERT INTO 商品構成マスタ VALUES ('AAA', '111', SYSDATE, 1)
INSERT INTO 商品構成マスタ VALUES ('AAA', '222', SYSDATE, 1)
INSERT INTO 商品構成マスタ VALUES ('AAA', '111', SYSDATE, 1)
INSERT INTO 商品構成マスタ VALUES ('AAA', '333', SYSDATE, 1)
INSERT INTO 商品構成マスタ VALUES ('AAA', '333', SYSDATE, 1)
INSERT INTO 商品構成マスタ VALUES ('AAA', '444', SYSDATE, 1)
【上記テーブルから日付を取得して別のテーブルに挿入するSQL】
INSERT INTO 適用開始日付セット
SELECT DISTINCT 適用開始日付
FROM 商品構成マスタ
WHERE 商品コード = 'AAA'
ORDER BY 適用開始日付;
【期待する値】
2018-02-01 00:00:00
2018-03-01 00:00:00
2018-03-20 00:00:00
(SYSDATEを挿入したのが、00:00:00だったとします。)
なのですが・・・
実際にテストしてみると、以下の様に値が挿入されてしまいます。
2018-02-01 14:32:04
2018-03-01 14:32:04
2018-03-20 14:32:04
(14:32:04は、実際に処理を動かした時間)
何故このような結果になってしまうかわかりません。
ご教授いただけないでしょうか?
また、回避する方法(期待する値になる方法)はございますでしょうか?
回答2件
あなたの回答
tips
プレビュー