Oops hit send too quickly the replace function replaces / with - in your date string to make the ISO 8601 and substr just makes sure we use the date portion only.
Paul www.sandersonforensics.com skype: r3scue193 twitter: @sandersonforens Tel +44 (0)1326 572786 http://sandersonforensics.com/forum/content.php?195-SQLite-Forensic-Toolkit -Forensic Toolkit for SQLite email from a work address for a fully functional demo licence On 12 April 2017 at 13:37, Paul Sanderson <sandersonforens...@gmail.com> wrote: > Hi Ron > > Your dates are still not 8601 > > with your dates above in a table called dateplay and column named vi > > select vi, > julianday('now') as now, > julianday(substr(replace(vi, '/', '-'), 1, 10)) as jday, > julianday('now') - julianday(substr(replace(vi, '/', '-'), 1, 10)) as > diff from > dateplay > > Paul > www.sandersonforensics.com > skype: r3scue193 > twitter: @sandersonforens > Tel +44 (0)1326 572786 <+44%201326%20572786> > http://sandersonforensics.com/forum/content.php?195-SQLite- > Forensic-Toolkit -Forensic Toolkit for SQLite > email from a work address for a fully functional demo licence > > On 12 April 2017 at 13:13, Ron Barnes <rbar...@njdevils.net> wrote: > >> Hi Jim, >> >> I ran an overnight job and converted 300+ million dates to the ISO 8601 >> format. >> >> Here are examples of the new dates. >> >> 2017/04/10 07:24:15 PM >> 2017/03/07 08:08:58 AM >> 2016/11/06 12:35:15 PM >> >> Since this should be easier how would you go about determining the Day(s) >> Difference from the current date? >> >> Thanks in advance, >> >> -Ron >> >> -----Original Message----- >> From: sqlite-users [mailto:sqlite-users-boun...@mailinglists.sqlite.org] >> On Behalf Of Jim Callahan >> Sent: Tuesday, April 11, 2017 11:22 PM >> To: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> >> Subject: Re: [sqlite] SQLite - Interrogate Date/Time field Statement >> question >> >> This code: >> >> SELECT ( substr('02/13/2016',7,4) || '-' >> || substr('02/13/2016',1,2) || '-' >> || substr('02/13/2016',4,2) ) ; >> >> yields >> >> 2016-02-13 >> >> The above code, is dependent on fixed length strings (the leading zero) >> in other words '02/13/2016' and not '2/13/2016'. >> >> If you do not have fixed length date strings, you would probably have to >> use globs or regular expressions. >> >> *glob(X,Y)* >> >> The glob(X,Y) function is equivalent to the expression "*Y GLOB X*". Note >> that the X and Y arguments are reversed in the glob() function relative to >> the infix GLOB <https://sqlite.org/lang_expr.html#glob> operator. >> >> https://sqlite.org/lang_corefunc.html#glob >> >> >> The REGEXP operator is a special syntax for the regexp() user function. No >> regexp() user function is defined by default and so use of the REGEXP >> operator will normally result in an error message. If an >> application-defined SQL function <https://sqlite.org/c3ref/crea >> te_function.html> named "regexp" >> is added at run-time, then the "*X* REGEXP *Y*" operator will be >> implemented as a call to "regexp(*Y*,*X*)". >> >> https://sqlite.org/lang_expr.html >> >> >> Type of regular expression needed: >> https://social.msdn.microsoft.com/Forums/en-US/7f38ee7b-15e2 >> -4e2c-8389-1266f496e4b2/regular-expression-to-get-date- >> format-from-string?forum=csharplanguage >> >> Jim Callahan >> >> On Tue, Apr 11, 2017 at 10:00 PM, Ron Barnes <rbar...@njdevils.net> >> wrote: >> >> > Hi Jim, >> > >> > I could alter the program that populates the Date/Time Column to the >> > format you specify. I'm trying real hard not to as that program has >> > been in use for many years and it would be a significant undertaking >> > to convert the program then convert the existing data. Not saying I >> > won't do it as I'm at that point, just wondering if it's possible to >> avoid that route. >> > >> > If I converted the date/time field, would it be easier to create counts? >> > >> > If you could, would you be able to offer a sample Select statement I >> > can alter to fit my needs? >> > >> > Thank you very much for the reply! >> > >> > Side note, I'll be visiting Disney in July! >> > >> > Regards, >> > >> > -Ron >> > >> > -----Original Message----- >> > From: sqlite-users >> > [mailto:sqlite-users-boun...@mailinglists.sqlite.org] >> > On Behalf Of Jim Callahan >> > Sent: Tuesday, April 11, 2017 9:15 PM >> > To: SQLite mailing list <sqlite-users@mailinglists.sqlite.org> >> > Subject: Re: [sqlite] SQLite - Interrogate Date/Time field Statement >> > question >> > >> > Can you convert the dates to ISO 8601 date time format? >> > https://en.wikipedia.org/wiki/ISO_8601 >> > >> > YYYY-MM-DD hh:mm:ss >> > >> > ISO date strings (when zero filled) are sortable which necessarily >> > includes comparable (Java speak). >> > By "zero filled" I mean for March you have "03" and not just "3". >> > >> > Then if you could generate/populate the boundary values in ISO format; >> > the comparisons would be straightforward and you could avoid the >> > julian date conversion. >> > >> > Another disadvantage of Julian dates are the different base years used >> > by applications including Unix, MS Access, MS Excel for Windows and MS >> > Excel for MacIntosh. Each application is internally consistent, but >> > the minute you exchange data between applications... >> > https://support.microsoft.com/en-us/help/214330/differences- >> > between-the-1900-and-the-1904-date-system-in-excel >> > >> > Your specification actually requires day counts; so you may need >> > Julian dates after all. >> > >> > Jim Callahan >> > Orlando, FL >> > >> > >> > >> > On Tue, Apr 11, 2017 at 7:24 PM, Ron Barnes <rbar...@njdevils.net> >> wrote: >> > >> > > Hello all, >> > > >> > > To everyone who helped me before - thank you very much! >> > > >> > > I'm coding in Visual Basic .NET (Visual Studio 2015) Community. >> > > >> > > I have to count a Date/Time field and the problem is, this field >> > > contains data in a format I'm not sure can be counted. >> > > >> > > I need to count all the dates in the field but the dates are a >> > > combined Date and time in the format examples below. >> > > My goal is to use the current Date/time ('NOW') and calculate the >> > > time difference in days, from my DB Sourced field. >> > > >> > > I need to capture... >> > > Less than 1 month old >> > > 1 month old >> > > 2 months old >> > > 1 year old..... >> > > all the way to greater than 10 years old. >> > > >> > > Is this even possible in SQLite and if so, how would I go about doing >> it? >> > > >> > > I have been googling a few queries and come up blank. >> > > >> > > I try this code and differing combinations of it but it always >> > > returns NULL. >> > > >> > > SELECT CAST >> > > ((datetime(julianday(datetime('now'))) - >> > > JulianDay(VI_Creation_Date)) As >> > > Integer) >> > > FROM Volume_Information >> > > >> > > Here is what I have to work with. >> > > >> > > Table Name: >> > > Volume_Information >> > > >> > > Column name: >> > > VI_Creation_Date >> > > >> > > Date Format: >> > > MM/DD/CCYY HH:MM:SS AM/PM >> > > >> > > Examples: >> > > >> > > 10/30/2015 2:28:30 AM >> > > 2/13/2016 7:51:04 AM >> > > 5/15/2016 12:06:24 PM >> > > 10/7/2016 1:27:13 PM >> > > >> > > Any Help would be greatly appreciated, >> > > >> > > Thanks, >> > > >> > > -Ron >> > > >> > > _______________________________________________ >> > > sqlite-users mailing list >> > > sqlite-users@mailinglists.sqlite.org >> > > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> > > >> > _______________________________________________ >> > sqlite-users mailing list >> > sqlite-users@mailinglists.sqlite.org >> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> > >> > _______________________________________________ >> > sqlite-users mailing list >> > sqlite-users@mailinglists.sqlite.org >> > http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> > >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users@mailinglists.sqlite.org >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> >> _______________________________________________ >> sqlite-users mailing list >> sqlite-users@mailinglists.sqlite.org >> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users >> > > _______________________________________________ sqlite-users mailing list sqlite-users@mailinglists.sqlite.org http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users