[英]How to select from SQL table WHERE a TIMESTAMP is a specific Date
我試圖進行查詢,其中TIMESTAMP字段=特定日期但我的查詢不起作用:
該字段是TIMESTAMP(6)類型,我之前只使用過DATE / DATETIME字段。 以下是此處存儲的值的示例: 04-OCT-13 12.29.53.000000000 PM
這是我的SELECT語句:
SELECT * FROM SomeTable WHERE timestampField = TO_DATE('2013-10-04','yyyy-mm-dd')
我沒有檢索到任何結果,我假設它與時間戳的TIME部分不匹配這一事實
如果您想要在給定日期發生的每條記錄,那么這應該有效:
SELECT * FROM SomeTable
WHERE timestampField >= TO_TIMESTAMP( '2013-03-04', 'yyyy-mm-dd' )
AND timestampField < TO_TIMESTAMP( '2013-03-05', 'yyyy-mm-dd')
如果存在,那么可能會利用timestampField
上的索引。 另一種方式是:
SELECT * FROM SomeTable
WHERE TRUNC(timestampField) = TO_DATE( '2013-03-04', 'yyyy-mm-dd' )
在這種情況下,您可能需要TRUNC(timestampField)
上基於函數的索引。
(注意,應用於TIMESTAMP的TRUNC返回DATE。)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.