2013-12-10 72 views
0

我想運行一個基於昨天的日期返回值的查詢。在這種情況下,昨天運出了多少物品。這是我的查詢:日期和時間的sql參數

shh.SHIP_DATE = dateadd(dd, -1, getdate()) 

當我運行它,它不返回任何東西,但是當我插上迄今爲止,它給了我值:

shh.SHIP_DATE = '2013-12-09' 
+1

這不是一個查詢。你的真實代碼在哪裏? –

+0

完整的代碼是SELECT * FROM zzoshprh AS SHH INNER JOIN zzoshprd AS SHD ON shh.PKEY = shd.fkey WHERE \t(shd.line_status = 'I')和(shh.CUSTOMER IN(」 norhteast」, '東南')) \t \t \t \t AND(shh.CONF_TYPE = 'A') \t \t \t \t AND(shd.style <> '禮盒') \t \t \t \t AND(shh.SHIP_DATE = dateadd(dd,-1,getdate())) – user3088661

回答

0

是在SHIP_DATE列日期或約會時間?我假設它是一個日期時間列,但只存儲日期值,所以當你使用getdate()時,你也將獲得時間值。你可以很容易地通過使用謂詞來工作(shh.SHIP_DATE = cast(dateadd(dd, -1, getdate()) as date))

+0

完美謝謝。我無法弄清楚如何擺脫時間部分。 – user3088661

0

GETDATE()也包括當前時間。您需要截斷時間部分。還有的失去的方式來做到這一點 - 這裏有一個:

shh.SHIP_DATE = DATEADD(dd, DATEDIFF(dd, 0, getdate())-1, 0) 

翻譯 - 加比日之間的天數少了一個「0」,而今天最新的「0」

+0

這也適用。試了兩個答案。感謝您的幫助。 – user3088661