如何从SQL中的DATETIME列获取DATE?

47 sql sql-server datetime date

我在SQL Server的Table TransactionMaster中有3列

1)transaction_amount

2)Card_No

3)transaction_date-- datetime数据类型

所以,我想获取SUM transaction_amount where Card_No=' 123'transaction_date= todays date.<-----不包括时间IN SQL

mvp*_*mvp 98

简单地投下您的时间戳AS DATE,如下所示:

SELECT CAST(tstamp AS DATE)
Run Code Online (Sandbox Code Playgroud)

SQLFiddle演示

换句话说,您的陈述将如下所示:

SELECT SUM(transaction_amount)
FROM mytable
WHERE Card_No='123'
  AND CAST(transaction_date AS DATE) = target_date
Run Code Online (Sandbox Code Playgroud)

有趣的CAST是,它在大多数SQL引擎(SQL Server,PostgreSQL,MySQL)上的工作方式完全相同,并且更容易记住如何使用它.使用CONVERT()TO_DATE()特定于每个SQL引擎的方法,并使您的代码不可移植.


Mil*_*val 6

您可以使用

select * 
from transaction 
where (Card_No='123') and (transaction_date = convert(varchar(10),getdate(),101))
Run Code Online (Sandbox Code Playgroud)