[英]MySQL select all where date (stored in varchar type)
我在最初設計我的數據庫時犯了一個錯誤,我有一個帶有 ID、DATE、TIME 的“約會”表,但 DATE 字段的類型是 VARCHAR,我用這種格式保存:29/08/2015
現在我想運行一個查詢,選擇所有約會,從今天起 2 天。
我該怎么做?
謝謝
您應該修復表中的列定義,同時檢索您需要使用str_to_date
函數的數據
select * from table_name
where str_to_date(DATE,'%d/%m/%Y') = date_add(now(),interval 2 day)
varchar 日期不是真實日期,會為不同部分創建更多問題,要修復表列,您可以按照以下步驟操作
第1步:
alter table table_name add column new_date date ;
第2步:
update table_name set new_date = str_to_date(DATE,'%d/%m/%Y');
第3步:
alter table_name drop column DATE ;
alter table_name change new_date DATE date
使用date();
.
$twoDaysFromNow = date('d/m/y', time() + 172800); // Adds exactly two days (172,800 seconds) to the current day, and returns it in given format.
$sql = "SELECT FROM `appointments` WHERE `date` = '{$twoDaysFromNow}'"; // Execute query with new date.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.