2013-11-20 31 views
1

我正在開發VS2010中的應用程序c#以從SQLServer中獲取單行數據並將其插入到MySQL中。如何在C#窗體窗體應用程序中獲取SQL Server中當前插入數據的記錄

在此我必須檢查SQL Server表名稱RAW_S001T01中今天插入了多少個記錄,並帶有一個SQL Server查詢。

我試過谷歌它,但沒有得到確切的答案。 我想下面的查詢

SELECT  Date_Time 
FROM   RAW_S001T01 
WHERE  (Date_Time = { fn CURDATE() }) 
ORDER BY Date_Time DESC 

,但沒有得到正確的輸出。

請幫助我正確查詢。

在此先感謝。

+0

什麼格式是您DATE_TIME列?如果還包括時間(根據您的命名建議),您將只能找到插入最後3毫秒的記錄... – oerkelens

回答

1

感謝您的建議得到了正確的答案,即

SELECT Date_Time FROM RAW_S001T01 
WHERE Date_Time >= CONVERT(DateTime, DATEDIFF(DAY, 0, GETDATE())) 
ORDER BY Date_Time DESC 
+1

@Ashok_Karale如果您只需要今天的日期,則不必使用DATEDIFF。爲什麼不按照我在答案中所建議的那樣使用'WHERE Date_Time = GetDATE()'? – AlexB

+0

@AlexB你也是對的,但出了問題,我沒有得到任何結果,所以我只是認爲它可能通過演員,在這裏我得到了答案,我們可以轉換爲DATE類型,從而消除時間部分約會時間。 –

+1

好吧,不要忘記驗證答案,如果它可以幫助你:-) – AlexB

2

如果你只想在RAW_S001T01其中Date_Time列等於今天日期的記錄,你可以修改你的WHERE子句這樣的:

SELECT  Date_Time 
FROM   RAW_S001T01 
WHERE   Date_Time = CONVERT(date, getdate()) 
ORDER BY  Date_Time DESC 

GETDATE()是SQLServer的函數將返回今天的日期,如2013-11-20 14:05:54.943。投它在DATE只保留日期部分,即2013-11-20

2

如果我理解了您的問題,您只需要計算Date_time列今天添加的記錄數。希望我沒有錯。
試試這個;

SELECT  Count(Date_Time) as No_Of_records_today 
FROM   RAW_S001T01 
WHERE  (Date_Time = getdate()) 
相關問題