Подтвердить что ты не робот

Как получить DATE из столбца DATETIME в SQL?

У меня есть 3 столбца в Table TransactionMaster на сервере sql

1) transaction_amount

2) Card_No

3) transaction_date-- datetime тип данных

Итак, я хочу получить SUM из transaction_amount where Card_No=' 123' и transaction_date= todays date. < ----- исключая время IN SQL

4b9b3361

Ответ 1

Просто введите свою временную метку AS DATE, например:

SELECT CAST(tstamp AS DATE)

SQLFiddle Demo

Другими словами, ваше утверждение будет выглядеть так:

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

Что нравится в CAST, так это то, что он работает точно так же на большинстве SQL-движков (SQL Server, PostgreSQL, MySQL), и гораздо легче запомнить, как его использовать. Методы, использующие CONVERT() или TO_DATE(), специфичны для каждого механизма SQL и делают ваш код не переносимым.

Ответ 2

Вы можете использовать

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

Ответ 3

используйте следующие

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

или следующих

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

Ответ 4

Используйте Getdate()

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

Ответ 5

Попробуйте следующее:

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

Функция GETDATE() возвращает текущую дату и время из SQL Server.