PrepAway - Latest Free Exam Questions & Answers

Your database contains a table named Purchases. The table includes a DATETIME column named PurchaseTi…

Your database contains a table named Purchases. The table includes a DATETIME column named PurchaseTi

me 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 r

eturn 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, GETD

ATE()))

Explanation:

Two answers will return the correct results (the -WHERE CONVERT…- and -WHERE … AND … – answers).

The correct answer for Microsoft would be the answer that is most -efficient-. Anybody have a clue as to which is most e

fficient? In the execution plan, the one that Ive selected as the correct answer is the query with the shortest duration. Also, the query answer with -WHERE CONVERT…- threw warnings in the execution plan…something about affecting CardinalityEstimate a

nd SeekPlan.

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


Leave a Reply