2013-05-28 52 views
1

我試圖刪除基於名爲timedatetime)的列的記錄。下面是我的sql語句和我正在使用的表。 SQL服務器說,這個查詢影響了0條記錄,我做錯了什麼?使用時間列刪除

DELETE FROM msg WHERE (time = '5/26/2013 8:39:44 PM') 


sender   receiver  msg      time 
============================================================================ 
bob   jen   this is a message 5/26/2013 8:39:44 PM 
jen   mel   Message to pel   5/26/2013 8:44:29 PM 
+1

似乎是爲我工作:http://sqlfiddle.com/#!3/38185/1 – sgeddes

+0

試試這個...'選擇時間味精,其中發送者=「仁」和接收器='梅爾'和msg ='給pel''的消息。我猜測結果不會完全='5/26/2013 8:44:29 PM'。即它會有一些毫秒。 –

+0

@CharlesBretana我想到了,但是這個值似乎是正確的,除非SQL服務器隱藏了milleseconds。 – Zzz

回答

1

試試這個:

DELETE FROM msg WHERE convert(datetime,time,101) = convert(datetime,'5/26/2013 8:39:44',101) 
+0

我試過了,結果相同。 – Zzz

0

你可以試試this SQL fiddle也。

既然你已經有timedatetime類型,所以只需要將該值轉換爲日期時間。

0

它工作嗎?

DELETE FROM msg WHERE time = convert(datetime, '5/26/2013 8:39:44 PM', 111)