2017-06-05 86 views
1

之間的數據我想達到的SQL數據庫具有以下列及其類型(如顯示在Microsoft SQL Server Management Studio中的「設計」窗口):C# - 獲取日期

時間戳:日期時間(用於例如:2017-05-15 08:53:55.000)
價格:單等

例如,我想發送以選擇其時間戳在現在和昨天之間的所有價格。即使我也想要一個月的例子。

我的代碼如下所示:

string query = "SELECT price FROM table WHERE timestamp>[email protected] AND timestamp<[email protected]);"; 
     SqlCommand command = new SqlCommand(query, sqlConnection); 
     command.Parameters.AddWithValue("@now", DateTime.Now); 
     command.Parameters.AddWithValue("@yesterday", DateTime.Now.AddDays(-1)); 

但我的讀者返回空,我究竟做錯了什麼?

+0

請正確標記。 MySQL不是SQL Server。 – Eric

+3

和'@ yes' <>'@ yesterday' –

+1

爲什麼不使用'GETDATE()'而不是傳遞'@ now'? –

回答

2

您可以使用BETWEEN,也是昨天小於今天:

SELECT price FROM table WHERE timestamp BETWEEN @yesterday AND @now 
1

你有你的日期走錯了路周圍,試試這個來代替:

SELECT price FROM table WHERE timestamp >= @yes AND timestamp <= @now; 
+0

您還應該添加'@yes!= @昨天'。否則,這是一樣破碎 –

+0

@CamiloTerevinto真的值得downvote?問題中的代碼顯然有幾個錯誤,儘管它是按照它實際運行的問題。這表明,這只是一個針對最小示例的轉置不良片段。我的回答顯示了問題所在。 – iamdave

1

你有@now和@是的倒過來,目前它的時間戳比現在更多,比昨天還少。