I guessed 2 because BETWEEN is inclusive, and then I tried to run it. I found out that I needed SQL Server 2008 compatibility, don't have that, only 2005, so I changed the VALUES clause to UNIONs, and the DATE to DATEtime, then fuond out I had to be logged in as dbo, don't have that either, so I took the dbo. off of the select, and then it returned two rows, voila`!
CREATE TABLE SalesDates
(id INT, saledate DATEtime
);
go
INSERT INTO SalesDates
SELECT
1, '2012/1/1'
UNION
SELECT
2, '2012/1/2'
UNION
SELECT
3, '2012/1/3'
UNION
SELECT
4, '2012/1/4'
UNION
SELECT
5, '2012/1/5'
UNION
SELECT
6, '2012/1/6';
go
SELECT id
FROM SalesDates s
WHERE s.saledate NOT BETWEEN '2012/1/2' AND '2012/1/5';
go
DROP TABLE SalesDates;