2016-03-08 201 views
-1

在MySql數據庫我有一個timestamp類型的字段。在用戶界面上我有一個日期選擇器,我希望能夠僅通過日期過濾來自db的數據,也就是說,沒有時間。現在我這樣做:從MySql的日期部分過濾時間戳

#nodejs server 

var dt = new Date("my date in str").toISOString().slice(0, 19).replace("T", " "); 

var sql = "select ..... 
    where date(column_date1) = date('$dt')"...... 

並得到了錯誤的結果。我的代碼中是否有錯誤?或者,也許,這是由於時區?

+0

首先,'dt'在'sql'變量沒有評估。你發送的是''dt''字符串,而不是它的值。嘗試像'date(「+ dt +」)''。不能保證MySQL語法,也不能'dt'的值是預期的。 –

+0

@ mr-wildcard,它被評估。 – Mario

+0

我在'sql'變量中看到一個簡單的字符串,而不是字符串+'dt'值的串聯。 –

回答

0

試試這個請:

var sql = "SELECT * FROM YOUR_TABLE WHERE DATE(column_date1) = STR_TO_DATE('"+dt+"', \"%Y-%m-%d\")"; 
+0

他在Node.js腳本中構建查詢,而不是本機查詢。 –

+0

對不起,我誤解了!可能不好!@ mr-wildcard – 1000111