簡體   English   中英

如何從SQL表中選擇WHEST TIMESTAMP是一個特定的Date

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM