PrepAway - Latest Free Exam Questions & Answers

Your database contains a table named Purchases. The table includes a DATETIME column named PurchaseTime that s

Your database contains a table named Purchases. The table includes a DATETIME column named PurchaseTime that stores the date and time each purchase is made. There is a non- clustered index on the PurchaseTime column. The business team wants a report that displays the total number of purchases made on the current day. You need to write a query that will return the correct results in the most efficient manner. Which Transact-SQL query should you use?

A. SELECT COUNT(*)

FROM Purchases

WHERE PurchaseTime = CONVERT(DATE, GETDATE())

B. SELECT COUNT(*)

FROM Purchases

WHERE PurchaseTime = GETDATE()

C. SELECT COUNT(*)

FROM Purchases

WHERE

CONVERT(VARCHAR, PurchaseTime, 112) =

CONVERT(VARCHAR, GETDATE(), 112)

D. SELECT COUNT(*)

FROM Purchases

WHERE PurchaseTime >= CONVERT(DATE, GETDATE())

AND PurchaseTime <DATEADD(DAY, 1, CONVERT(DATE, GETDATE()))

Explanation:

To compare a time with date we must use >= and > operators, and not the = operator.

Incorrect Answers:

A: The in WHERE clause there is an incorrect comparison between time and a date, as equality (=) is used.

References:

http://technet.microsoft.com/en-us/library/ms181034.aspx


Leave a Reply