簡體   English   中英

C#SQL命令:今天的日期和自定義時間

[英]C# SQL Command : WHERE today's date and a custom time

約會的數據類型將為datetime

假設我想列出使用今天的日期和在11:00 AM到7.00PM之間的約會

我應該如何在C#程序中編寫查詢?

SELECT Appointment FROM table WHERE Appointment between 11AM and 7PM.

提前致謝 :)

var startDateTime = DateTime.Today + new TimeSpan(11, 0, 0);
var endDateTime = DateTime.Today + new TimeSpan(19, 0, 0);

將這些值作為參數傳遞到查詢中。

這在SQL Server 2005及以下版本中也適用:

SELECT Appointment FROM table 
WHERE Appointment between 
     DATEADD(hour, 11, DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0))
AND  DATEADD(hour, 19, DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0))

演示

由於詢問了問題,因此可以使用DATEADDGETDATECONVERT組合,例如:

SELECT Appointment
FROM table
WHERE Appointment between
DATEADD(HOUR, 11, (GETDATE() - CONVERT(VARCHAR(12),GETDATE(),114)))
and DATEADD(HOUR, 19, (GETDATE() - CONVERT(VARCHAR(12),GETDATE(),114)))

table對於table來說確實是一個壞名字。 而是選擇一個特定的名稱。

SELECT Appointment FROM table WHERE datepart(hour,Appointment) between 11 and 18

將給出11:00:00.000和18:59:59.999之間的時間

暫無
暫無

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

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