C# SQL 命令:WHERE 今天的日期和自定义时间
C# SQL Command : WHERE today's date and a custom time
约会的数据类型将是日期时间
假设我想列出使用今天的日期以及上午 11 点到晚上 7 点之间的约会
我应该如何在我的 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))
既然你提出了查询,你可以使用一点点 DATEADD
, GETDATE
and CONVERT
组合,例如;
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
之间的时间
约会的数据类型将是日期时间
假设我想列出使用今天的日期以及上午 11 点到晚上 7 点之间的约会
我应该如何在我的 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))
既然你提出了查询,你可以使用一点点 DATEADD
, GETDATE
and CONVERT
组合,例如;
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
之间的时间