SQL Query on a MS Access CSV Export using PHP involving dates -


february came , broke sql. generated csv file dump ms access database. have no ability modify database. use php run queries on csv files in order generate reports boss. here queries have tried run (number 1 worked until february came):

1) select * [orders.csv] [order taken associate surrogate #] = 1009 , [date/time taken] between #05/01/2016# , #05/07/2016# , not [order status surrogate #] = 3

2) select * [orders.csv] [order taken associate surrogate #] = 1009 , format([date/time taken], 'mm/dd/yyyy') between #05/01/2016# , #05/07/2016# , not [order status surrogate #] = 3

3) select * [orders.csv] [order taken associate surrogate #] = 1009 , format([date/time taken], 'mm/dd/yyyy hh:nn:ss') between #05/01/2016 00:00:00# , #05/07/2016 23:59:59# , not [order status surrogate #] = 3

when run query 1 no results; while 2 & 3 return everything. if run query 2 single day returns correct results. there 71 records time period in queries.

what correct way query dates , have proper results displayed?

last bit of info:

'driver={microsoft text driver (*.txt; *.csv)};dbq='.$file.';extensions=asc,csv,tab,txt;extended properties="excel 8.0;imex=1"' 

you reported driver sees [date/time taken] field date/time datatype.

so should not use format() function when comparing date/time values. format() returns string, not date/time value.

access interpret #05/01/2016# mean may 1st. if intend mean jan 5th, use #2016-01-05# avoid confusion piece month , day.

with both suggestions, use condition in where clauses ...

[date/time taken] between #2016-01-05# , #2016-07-05# 

or if guessed wrong dates ...

[date/time taken] between #2016-05-01# , #2016-05-07# 

Comments

Popular posts from this blog

java - pagination of xlsx file to XSSFworkbook using apache POI -

Unlimited choices in BASH case statement -

apache - How do I stop my index.php being run twice for every user -