web-dev-qa-db-fra.com

Comment obtenir DATE de la colonne DATETIME en SQL?

J'ai 3 colonnes dans la table TransactionMaster dans le serveur SQL

1) transaction_amount

2) Card_No

3) transaction_date-- datetime type de données

Donc, je veux récupérer la somme de transaction_amount where Card_No=' 123' et transaction_date= todays date. <----- exclure le temps en SQL

43
user3239820

Lancez simplement votre horodatage AS DATE, comme ceci:

SELECT CAST(tstamp AS DATE)

Démo SQLFiddle

En d'autres termes, votre déclaration ressemblerait à ceci:

SELECT SUM(transaction_amount)
FROM mytable
WHERE Card_No='123'
  AND CAST(transaction_date AS DATE) = target_date

Le point positif de CAST est qu’il fonctionne exactement de la même façon sur la plupart des moteurs SQL (SQL Server, PostgreSQL, MySQL) et qu’il est beaucoup plus facile de se rappeler comment l’utiliser. Les méthodes utilisant CONVERT() ou TO_DATE() sont spécifiques à chaque moteur SQL et rendent votre code non portable.

93
mvp

Vous pouvez utiliser

select * 
from transaction 
where (Card_No='123') and (transaction_date = convert(varchar(10),getdate(),101))
6
Milan Raval

utilisez le suivant

select sum(transaction_amount) from TransactionMaste
where Card_No = '123' and transaction_date = CONVERT(VARCHAR(10),GETDATE(),111)

ou les suivantes

select sum(transaction_amount) from TransactionMaste
where Card_No = '123' and transaction_date = CONVERT(VARCHAR(10), GETDATE(), 120)
2
Developerzzz

Utiliser Getdate()

 select sum(transaction_amount) from TransactionMaster
 where Card_No=' 123' and transaction_date =convert(varchar(10), getdate(), 102)
2
Nagaraj S

Essaye ça:

SELECT SUM(transaction_amount) FROM TransactionMaster WHERE Card_No ='123' AND CONVERT(VARCHAR(10),GETDATE(),111)

La fonction GETDATE() renvoie le courant date et heure de SQL Server.

1
Ajay P