簡體   English   中英

比較從MySQL數據庫提取的字符串日期

[英]Comparing String Dates Pulled From MySql Database

我在MySQL數據庫中有一個關系,該數據庫以varchar形式存儲日期以及其他屬性。 看起來像:

答案answerId答案QuestionId日期

我有一個Web應用程序,用戶可以在其中選擇“開始”和“結束”日期,並且需要在提供的范圍之間提取相關答案。 所以我的問題是我將如何實現一個php文件來正確查詢數據庫,從而在提供的日期之間提取答案。

如果日期使用YY-mm-dd (從最大值到最低,帶有前導零),則可以將其與字符串進行比較(按字典順序)

但是您應該為日期使用正確的數據類型( DATEDATETIMETIMESTAMP

這是一個簡單的解決方案:

您可以將日期(已經存儲在您的MySQL數據庫中)轉換為Unix時間 ,並將其與任何數字一樣進行比較。

例如

$date1 =  strtotime("2010-11-12");  
$date2 =  strtotime("2010-11-14");  

並比較$date1$date2

這是可以幫助您的鏈接http://php.net/manual/zh/function.strtotime.php

正如@RiaD所寫,您使用了正確的日期類型。 但是,如果您不能更改類型,則應使用STR_TO_DATE將Varchar字符串轉換為DATETIME。

參見http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_str-to-date

這樣您的查詢將看起來像

Select * from table
where STR_TO_DATE(field_name, 'YOUR_DATE_FORMAT') between start_date and end_date;

暫無
暫無

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

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