如何在查詢中刪除Status小於當前日期的Status = Pending ...這應該是一個select聲明如何在select語句中刪除Status = Pending且日期小於當前日期
Status Date
Pending 9/5/2014
Pending 9/30/2014
Complete 8/28/2014
Error 8/20/2014
如何在查詢中刪除Status小於當前日期的Status = Pending ...這應該是一個select聲明如何在select語句中刪除Status = Pending且日期小於當前日期
Status Date
Pending 9/5/2014
Pending 9/30/2014
Complete 8/28/2014
Error 8/20/2014
既然您說您希望在當前日期之前刪除Status爲'Pending'的數據,那麼我假設您要刪除該數據。這是刪除查詢。
DELETE FROM my_table
WHERE status = 'Pending'
AND date < CAST(GETDATE() AS DATE);
不過,既然你提到,你需要一個select語句,這裏不包括其中狀態爲當前日期之前「待處理」記錄的選擇查詢。
SELECT status, date FROM my_table
WHERE status <> 'Pending'
AND date < CAST(GETDATE() AS DATE)
(上面的查詢將錯誤地跳過其中狀態爲「待定」的所有記錄)接下來的查詢應完全工作打算。
SELECT status, date FROM my_table
EXCEPT
SELECT status, date FROM my_table
WHERE status = 'Pending'
AND date < CAST(GETDATE() AS DATE);
嗨,我需要擺脫當前日期之前的日期與待決狀態。 – Ian 2014-09-30 06:45:40
您是否嘗試過第二個查詢? – CodeNewbie 2014-09-30 06:49:03
您可以使用
SELECT status, date FROM Test
WHERE status <> 'Pending'
AND date < CAST(GETDATE() AS DATE)
嘗試類似下面。我認爲它應該做的工作。如果您只是在更改狀態欄,那麼下面的內容應該可以工作。
SELECT CASE WHEN date < CAST(GETDATE() AS DATE) and status ='Pending'
THEN 'YouNEwStatus'
ELSE
status END AS status, date
FROM
MYTable
而且,如果你是隱藏行。上面的紳士提到的查詢應該有效。
SELECT status, date FROM Test
WHERE status <> 'Pending'
AND date < CAST(GETDATE() AS DATE)
更多描述請! – 2014-09-30 06:36:57
您正在刪除或從表中選擇? – 2014-09-30 06:39:32
選擇表...更新問題和正文 – Ian 2014-09-30 06:40:55