C# sql查询问题
我想比较两个日期和时间,然后 我想选择“开始时间”大于现在时间且“开始日期”大于现在日期的记录 但输出不正确。请提前感谢。 我的tabale记录如下:C# sql查询问题,c#,sql-server-2005,compare,C#,Sql Server 2005,Compare,我想比较两个日期和时间,然后 我想选择“开始时间”大于现在时间且“开始日期”大于现在日期的记录 但输出不正确。请提前感谢。 我的tabale记录如下: StartDate StartTime ------------------------------- 1389/07/11 11:04 1389/06/23 21:17 1389/06/23 21:32 1389/06/23 22:10 1389/06/26 12:34 1389/06/27 17:29 1389/06/
StartDate StartTime
-------------------------------
1389/07/11 11:04
1389/06/23 21:17
1389/06/23 21:32
1389/06/23 22:10
1389/06/26 12:34
1389/06/27 17:29
1389/06/27 18:13
1389/06/27 20:27
1389/06/28 09:41
1389/07/18 10:46
1389/07/05 22:00
1389/07/15 24:00
输出为:
当查询为:(1)时
正确的输出应为:
StartDate StartTime
-------------------------------
1389/07/18 10:46
select * from test where date>'2010/10/05' and time>='20:22'
我使用波斯语日期。仅根据以上内容和问题描述,查询应为:
StartDate StartTime
-------------------------------
1389/07/18 10:46
select * from test where date>'2010/10/05' and time>='20:22'
如果您发布有关您的问题和工作模式的更多详细信息,我们将能够为您提供更多帮助。我想选择“时间”大于now time且“日期”大于now date的记录
首先,要获取当前日期时间(现在),可以使用SQL函数GETDATE()
。
因此,如果您碰巧有一个datetime
列,您可以这样做
SELECT * FROM Test WHERE LogDateTime >= GETDATE()
这将返回表Test中的每一条记录,其中LogDateTime列中的datetime值是将来的记录
现在,虽然它有点复杂,但当您将日期和时间拆分为单独的列时,也可以使用相同的方法
SELECT * FROM Test
WHERE CONVERT(datetime, LogDate + ' ' + LogTime) >= GETDATE()
如果LogDate或LogTime是可为空的列,为了安全起见,您可以使用ISNULL(,)
。它解决了:
SELECT StartDate, StartTime
FROM Proj
WHERE (StartTime < '20:20 ') AND (StartDate = '1389/07/15') OR
(StartDate > '1389/07/15')
选择开始日期、开始时间
来自项目
其中(开始时间<'20:20')和(开始日期='1389/07/15')或
(从“1389/07/15”开始)
您能给出表格模式吗?您可以查询时间小于或等于20:22的位置。运算符应该是“>”对吗?可能会说明明显的但日期和时间是保留的Sql关键字,您的错误是什么?你试过“从测试中选择*”[date]@Lee Sy-En,@Sascha:i编辑过。