簡體   English   中英

特定時間點的MySQL字段類型

[英]MySQL field type for specific point in time

我需要一個可以及時存儲特定日期的MySQL列。 我正在使用的應用程序為我提供了UNIX時間戳(自1970年1月1日以來經過的秒數)。 我需要將此信息存儲在數據庫中,並在以后以特定方式檢索它,請參見下文。

在此日期存儲之后,我需要能夠根據此時間戳查詢數據庫。 例如,我需要能夠檢索時間戳記的日期為第4天的所有行。

那么,我的問題是,如何將這個日期存儲在最容易執行查詢的地方? DATETIME和TIMESTAMP對我來說似乎是有效的選項,但我似乎無法弄清楚如何處理查詢。 我不希望將時間戳記存儲為整數,因為它不允許我創建這樣的查詢,因此我不得不將工作卸載到PHP。

如果有幫助,我需要處理UTC時間中的這些時間戳。 我知道TIMESTAMP會幫我將其轉換為PST(我的本地時間),因此我必須用MySQL或PHP將其轉換回UTC。 (至少我認為我必須這樣做)

請幫忙!

如果您是我,我會將這些數據另存為DateTime 原因是

  • 這些記錄可以用我們自己的眼睛閱讀。 例如2013-01-04 00:25:121357259112
  • 不必使用任何我認為會殺死索引的轉換函數,例如FROM_UNIXTIME 因此使用datedatetime date會更好,因為您可以利用索引,因為您可以使用=BETWEEN直接搜索值

將其存儲為integer ,然后使用MySQL的FROM_UNIXTIME()函數,如下所示:

SELECT
    `field_list`
FROM
    `table_name`
WHERE
    FROM_UNIXTIME(`the_date`, '%d') = 4;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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