【问题标题】:sql server query current date from database [duplicate]sql server从数据库中查询当前日期[重复]
【发布时间】:2015-06-12 01:12:05
【问题描述】:

我想从 SQL Server 中找到一些仅按当前日期查询的数据。目的是只查看今天的交易

这是我的代码

SELECT * FROM dbo.Student.studentProfile
WHERE TransactionDate = curdate()

结果

Curdate 不是 recongined 的内置函数名

【问题讨论】:

  • 在 T-SQL 中将使用 GETDATE()
  • @C-Pound Guru,这个问题是针对 SQL Server 而不是 MySQL
  • @Juken:这个问题的可接受答案包括CURRENT_TIMESTAMP。重复问题的接受答案也是如此。

标签: sql sql-server date


【解决方案1】:

如果您正在寻找当前日期:

WHERE TransactionDate = cast(getdate() as date)

或者,如果您更喜欢 ANSI 标准:

WHERE TransactionDate = cast(CURRENT_TIMESTAMP as date)

【讨论】:

  • 非常感谢。这两个代码都适合我。
【解决方案2】:

不同的 sql 实现(即 SQL Server、Mysql、postgresql 等)可以支持不同的方法。对于 SQL Server,您要使用的方法是 GETDATE() 而不是 CURDATE()

此方法的文档在这里:https://msdn.microsoft.com/en-us/library/ms188383.aspx

【讨论】:

    【解决方案3】:

    试试这个。

    select * from dbo.Student.studentProfile
        WHERE TransactionDate >= dateadd(day,datediff(day,1,GETDATE()),0)
            AND TransactionDate < dateadd(day,datediff(day,0,GETDATE()),0)
    

    【讨论】:

    • TQ 响应。我已经尝试了您提供的代码。没有错误也没有输出,同时我的表中有今天的日期。
    猜你喜欢
    • 2018-12-30
    • 2012-03-05
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 2022-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多