C# SQL 命令:WHERE 今天的日期和自定义时间

本文关键字:日期 自定义 时间 今天 SQL 命令 WHERE | 更新日期: 2023-09-27 18:36:46

约会的数据类型将为日期时间

假设我想列出使用今天日期以及上午 11:00 到晚上 7:00 之间的约会

我应该如何在 c# 程序中编写查询?

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

提前致谢:)

C# SQL 命令:WHERE 今天的日期和自定义时间

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对于一张桌子来说真的是一个不好的名字。请改为选择一个特定名称。

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

将给出介于 11:00:00.000 和 18:59:59.999 之间的时间