2012-06-04 56 views
0

選擇行我有這個紀錄在我的表通過指定日期列

Name UserName  Password  DateAdded 
skype someusername somepassword 05/06/2012 01:18:50 

我試圖執行該語句,但它總是失敗。

一些嘗試:(全部失敗)

Select * from Passwords where DateAdded = '05/06/2012 01:18:50' 
Select * from Passwords where DateAdded = #05/06/2012 01:18:50# 
Select * from Passwords where DateAdded = '06/05/2012 01:18:50' 
Select * from Passwords where DateAdded = '2012/06/05 01:18:50' 
Select * from Passwords where DateAdded = '2012/05/06 01:18:50' 
Select * from Passwords where DateAdded like '2012/06/05 01:18:50' 

DateAdded在我的數據庫的類型爲datetime,而不是nvchar

我是SQL新手,這個查詢有什麼問題?

+1

你得到一個錯誤信息?它是什麼意思?它是意外的結果嗎?它們是什麼? – RThomas

+1

如果你沒有得到任何結果,這可能是因爲DateTime類型比一秒更精確(低至幾千秒),所以除非你有幸運的是,碰巧沒有小數秒的插入,或者碰巧在插入時手動指定了日期,在查詢中不會得到任何結果。對於DateTime,通常使用<, >,或BETWEEN除非你特別截斷你輸入的日期時間,以便你可以知道,例如,你不必擔心小數秒。 –

+0

我嘗試但沒有工作,問題是它返回0行沒有任何反應。爲了使它工作,我必須使用>而不是=這是錯誤的。 – user1166557

回答

0

你可能有小數秒存儲?試試這個:?當你說'fails`到底發生了什麼

SELECT * FROM Passwords 
    WHERE DateAdded BETWEEN '2012-05-06 01:18:50' AND '2012-05-06 01:18:51'; 

(我更喜歡日期時間文字的格式,因爲它是明確的,但你應該工作以及TSQL將採取almost anything you throw at it

+0

仍然沒有..總是得到0記錄。 – user1166557

+0

我不會幫助,但這裏是我的示例代碼 – user1166557

+0

CmdString.CommandText =「從密碼中選擇*其中DateAdded'2012/05/06 01:18:50'和'2012/05/06 01:18:50'」 ('MyTable')''填寫我的表格 BS.DataSource = DS.Tables(「MyTable」)'指定綁定源 BindControls()'綁定我的數據集 DS.Clear()'清除數據集 控制文本框標籤.. – user1166557