簡體   English   中英

獲取最近24小時內添加到數據庫表中的行

[英]Get rows added to database table within the last 24 hours

我在使用Codeigniter的表products有一個create_date (順便說一句,此列是varchar)列,因此我與表進行通信,如下所示:

function get_recent_products()
{
    $query = $this->db->get_where('products', array('create_date' => date('y-d-m')));
    return $query->result_array();
}

使用以上功能,我希望只能從最近24小時內添加的表中提取行。 系統將日期存儲為: 2014-02-28

這個你能幫我嗎!

要保留check_date的原始列類型, check_date使用以下命令:

ALTER TABLE `table_name`
ADD COLUMN `check_date_time` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00';

UPDATE TABLE `table_name`
SET `check_date_time` = `create_date` LIMIT 9999999999999999;

從那里開始,您應該可以從最后一天開始致電,您可以開始填寫此字段,以產生向前的時間:)

如果日期以2014-02-28形式存儲在varchar列中, 2014-02-28date()函數使用以下格式:

date('Y-m-d')

請注意,這種情況很重要。 您使用date('yd-m')的格式將給您14-28-02

您還需要將適當的時間戳傳遞給date()函數。 默認值為time()的值。

如果要選擇過去24小時而不是特定日期的記錄,則還需要存儲時間。 我建議使用datetime列將日期和時間都存儲在一個字段中。 這使您能夠直接在SQL語句中進行大量的日期和時間計算。

暫無
暫無

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

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