jacobdavid
jacobdavid

Reputation: 9

When I select between two dates in SQL Server, the result is returned from in range and out range together?

I have this query

select * 
from Vw_storeout 
where ItemDate between '14/10/2018' and '15/10/2018'

The result gets data from September and October. Actually just I want data from October.

I've changed date format to varchar(50).

Upvotes: 0

Views: 53

Answers (1)

Lukasz Szozda
Lukasz Szozda

Reputation: 175994

Date is date, you should compare it as date not string.

select * 
from Vw_storeout 
where TRY_CAST(ItemDate AS DATE) between CAST('20181014' AS DATE) 
                                     and CAST('20181015' AS DATE);

You should store ItemDate as DATE instead of VARCHAR(50).

Upvotes: 1

Related Questions