簡體   English   中英

如何從C#比較SQL Server日期時間

[英]How compare SQL Server Datetime from C#

我必須從C#中進行查詢,並與datetime進行比較。 日期時間像這樣存儲在我的數據庫中:

2014-11-09 00:00:01

我正在使用此查詢:

SELECT * 
FROM Table 
WHERE DATETIMEVAR = '19/11/2014 0:00:01' AND OTHERVAR = 1

但這不是相同的格式。 有沒有一種方法可以將C#中的System.DateTime轉換為SQL Server中的日期,或者從SQL Server中以該格式轉換日期時間? 我應該在Where子句中使用like而不是=進行檢查。

謝謝。

最好的方法是在C#中進行參數化查詢,然后將日期時間參數設置為datetime (而不是依賴於來回轉換字符串的日期)。

因此,您應該具有以下內容:

SELECT * 
FROM Table 
WHERE DATETIMEVAR = @DateTimeValue AND OTHERVAR = 1

然后將該@DateTimeValue參數定義為datetime並將其設置為datetime

該方法:

  • 防止任何SQL注入漏洞
  • 避免任何字符串/格式問題-它以原始格式比較DATETIMESystem.DateTime

如果要從DateTime對象生成查詢,只需執行date.ToString("yyyy-MM-dd HH:mm:ss")即可在查詢中將其轉換為該格式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM