2011-09-22 155 views
0

我需要在「約會」表上獲得3個查詢。SQLite:當前日期加上where條款中的一天

  1. 其中今天appointment.start_date是,
  2. 其中appointment.start_date =今天+ 1天,和
  3. 其中appointment.start_date是>今天+ 1天。

我已經有1倒了。

var resultSet = conn.execute('SELECT * FROM appointments WHERE date() = date(start_date)'); 

對於2,我已經試過這樣:

var resultSet = conn.execute('SELECT * FROM appointments WHERE date("now", "+1day") = date(start_date, "+1day")'); 

我有日期(「現在」,「+1天」)從這個鏈接this link但它返回相同的結果作爲第一查詢。

有人可以幫助這些查詢嗎?

回答

1

如果你使用的正是公司發佈的,我說你有一個間隔的問題

SQLite的用途「+ 1天」,並且您已經發布「+1天」

如果不出明確的錯誤信息,與它的空間應該工作

+0

對不起完全是我自己的idiosity我的查詢是錯誤的:'WHERE日期( 「現在」, 「+1天」)=日期(起始, 「+1天」)'應改爲'WHERE日期( 「現在」 ,「+ 1day」)= date(start_date)'我有額外的+1天。衛生署!感謝您的回覆。 – iamjonesy

1

我不知道SQLite的,但嘗試下面的代碼:

var now = new Date(); 
var nowStr = now.getFullYear()+"-"+(now.getMonth()+1)+"-"+now.getDate(); 
var nowPlus1 = new Date(Number(now)+24*60*60*1000); 
var nowPlus1Str = nowPlus1.getFullYear()+"-"+(nowPlus1.getMonth()+1)+"-"+nowPlus1.getDate(); 

var resultSet = conn.execute("SELECT * FROM appointments WHERE start_date = '" + nowStr + "'"); 

var resultSet = conn.execute("SELECT * FROM appointments WHERE start_date = '" + nowPlus1Str + "'"); 

var resultSet = conn.execute("SELECT * FROM appointments WHERE start_date > '" + nowPlus1Str + "'"); 
1

對不起我的全部(「now」,「+ 1day」)= date(start_date,「+ 1day」)應該讀取WHERE date(「now」,「+ 1day」)= date(start_date)I有額外的+1天。衛生署!

0

請嘗試「加一天」而不是「+1天」。它沒有記錄,但在另一個代碼中爲我工作。

var resultSet = conn.execute('SELECT * FROM appointments WHERE date("now plus one day") = date(start_date plus one day")');