我想插入數據到數據庫作爲時間,而不是日期。如果我使用to_date('2012-08-31 07:39:33', 'YYYY-MM-DD HH24:MI:SS')
它也會添加日期。 如果我使用to_date('09:34:00', 'HH24:MI:SS')
,它會從一開始就增加年,月,日。 後來我需要得到行的時間在x和y之間,不考慮年,月或日。我怎麼做? 謝謝oracle插入只有時間
3
A
回答
1
A DATE
類型始終包含日期組件。
一種選擇是繼續使用DATE
並編寫代碼以忽略日期組件。爲了在時間上進行查詢,您可能需要在TO_CHAR(date_field, 'HH24:MI:SS')
之類的東西上創建一個基於函數的索引,並在查詢中使用該表達式。
或者,您可以使用NUMBER
字段來存儲自午夜以來的秒數,然後按照這種方式編寫查詢。
3
作爲替代date
解決方案戴夫表示,你可以使用一個interval
數據類型的列:
create table t42(id number, t interval day to second);
insert into t42 (id, t) values(123, to_dsinterval('0 07:39:33'));
insert into t42 (id, t) values(456, to_dsinterval('0 09:34:00'));
select id
from t42
where t between to_dsinterval('0 07:00:00') and to_dsinterval('0 07:59:59');
ID
----------
123
顯示間隔是有點尷尬,因爲他們don't have format models,但見this question的一些想法,如果需要。如果你只使用它們進行過濾,那麼這可能不是問題。
0
可以使用數列類型,並插入值作爲
INSERT INTO table_name (nTime)
VALUES (date - trunc(date));
,然後選擇值
select *
from table_name t
where t.nTime between (10/24 + 15/24/60) and (12/24 + 30/24/60) --between 10:15 and 12:30
相關問題
- 1. 在oracle中只插入時間
- 2. 插入時間戳到Oracle數據庫
- 3. 插入時間到Oracle SQL,DATE域
- 4. 如何在Oracle中插入時間戳?
- 5. 如何只插入類型時間sqlite
- 6. 在Oracle時間戳列插入時間戳
- 7. SQL插入只有
- 8. 時間插入
- 9. 插入時間之間有兩個DATETIME
- 10. Oracle時間戳舍入
- 11. MySQL的插入當前日期,只有在插入時
- 12. 只有當Mysql插入新行時,纔會插入新行
- 13. 只有一條記錄從datagridview插入Oracle數據庫
- 14. Oracle DB,在插入期間驗證xml
- 15. mysql插入時間
- 16. 插入時間值
- 17. 插入時只CR使用
- 18. 只有mysql複製插入
- 19. 只有一個值插入
- 20. 插入只有在的BindingList
- 21. MySQL的:插入只有
- 22. 只有在Oracle
- 23. Grails插入日期沒有時間
- 24. 自動插入日期時間插入
- 25. AUTO_INCREMENT在插入時需要一個值,但有時只有
- 26. Oracle在MySQL插入語句中轉換MySQL時間戳
- 27. 爲什麼在Oracle DB上插入XML需要很長時間?
- 28. 如何在oracle中插入日期和時間?
- 29. 將時間戳插入Oracle數據庫中的Varchar2列
- 30. 如何使用Node-Oracle驅動程序插入時間戳?
感謝。所以可以給我舉個例子,應該是什麼樣子? select * from table1 where TO_CHAR(collumn_date,'HH24:MI:SS')'08:00:00'和'17:00:00'之間的collumn_date? – user1164545
'select * from table1''在'08:00:00'和'17:00:00'之間的TO_CHAR(collumn_date,'HH24:MI:SS') –