簡體   English   中英

STR_TO_DATE MySQL和PHP

[英]STR_TO_DATE mysql & php

我有一列名為dispatchdate的列,該列存儲為VARCHAR(255)。 雖然它以“ 12/06/2013”​​格式存儲日期。 (DD / MM / YYYY)

我知道我應該使用一個更好的領域,但是我仍然是新手/正在學習MYSQL和PHP。 它僅在本地PC上進行測試等。

在我的頁面上,我有一個查詢,該查詢執行基本的“從表中選擇*”並列出行。

我想重新定義查詢,以便輸入日期范圍來縮小列表的范圍。

我目前正在使用...

mysql_connect('localhost','root','');
mysql_select_db('operations');
$result = mysql_query("SELECT * FROM dispatch");

我假設我必須使用STR_TO_DATE將其從varchar轉換為日期格式。 但是%d /%m /%Y顯示為“ 2013-06-12”而不是“ 12-06-2013”​​。

如何使用SELECT STR_TO_DATE( dispatchdate, '%d/%m/%Y' )在PHP中構建查詢,然后輸入要搜索的條件(例如13 SELECT STR_TO_DATE( dispatchdate, '%d/%m/%Y' ) 13-> 13/07/13)

顯然,您想要以存儲的字符格式檢索它。 因此,請勿在select進行轉換。 只需在where子句中進行轉換即可。 例如,要獲取上周的行:

SELECT *
FROM dispatch
where STR_TO_DATE( dispatchdate, '%d/%m/%Y' ) >= adddate(now(),  - 7)

暫無
暫無

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

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