SQL - future 日期时间的查询条件

标签 sql sql-server

我遇到了这个查询的问题。我不想选择已通过当前日期的 SYSTIME 的记录,而是显示 future 日期的记录,即使它们已通过当前的 SYSTIME

SELECT * 
  FROM TABLE
 WHERE DATE>= CONVERT(date, SYSDATETIME())
   AND STARTTIME > CONVERT(time, SYSDATETIME())

这是查询。我知道为什么它不起作用,但我想不出一种方法来做我上面所说的。

最佳答案

SELECT * 
FROM TABLE
WHERE 
  (
   (DATE = CONVERT(date, SYSDATETIME() 
    AND STARTTIME > CONVERT(time, SYSDATETIME()
   )
    OR Date > sysdatetime()
  )

您需要一个 or 条件,因为日期时间位于不同的字段中,您必须首先解析今天的日期和时间,然后是所有 future 的日期,无论时间如何。

关于SQL - future 日期时间的查询条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16501460/

相关文章:

mysql - 复制表时将 varchar 转换为 int

mysql - 使用 'special' WHERE 子句从一个 SQL 查询中的表中选择数据

sql - 操作 phpBB 标记所需的 TSQL 正则表达式函数

c# - 使用sql server express为c#.net winform应用程序创建多个用户

java - 使用java将图像存储在sql server数据库中

c# - 从自引用数据库表填充递归数据结构

php - 如何重新计算与另一个表相关的字段(Yii2 MySQL)

mysql - 按计数选择组

sql - 哪个查询似乎有效?

sql-server - 在非唯一聚集索引上查找的逻辑读取