[英]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:12
比1357259112
。 FROM_UNIXTIME
。 因此使用date
或datetime
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.