Well, these fields I am talking about hold date information but they
have nil to do with dates in that you can't do any date manipulation
on the data. There also are proper date-time fields in the database and
they hold something entirely different.
The first field (with yyyymmdd) hold a long data type and the second one
holds a date data type.

RBS


> The Interbase date type is a simple integer!
>
> RB Smissaert wrote:
>> No, these particular fields don't use the IB date type, but a simple
>> integer. I have managed to get the Interbase dll ib_udf.dll working now
>> and
>> that has a substr function that seems to do the job. So now I can make
>> 03-12-2006 type of dates and hopefully SQLite will accept that as a
>> date.
>> In a way it would still be better though to make Excel integer dates as
>> that
>> will save some trouble when dumping data in the sheets. Maybe I could
>> make
>> an Interbase UDF for that. Or maybe the SQLite dates are fine as well
>> when
>> dumped in an Excel sheet.
>>
>> RBS
>>
>>
>> -----Original Message-----
>> From: John Stanton [mailto:[EMAIL PROTECTED]
>> Sent: 04 December 2006 00:41
>> To: sqlite-users@sqlite.org
>> Subject: Re: [sqlite] Dealing with dates in the format yyyymmdd
>>
>> I suspect that you are not using the Interbase date type, which is a 64
>> bit object encapsulating date and time and having an epoch November 17,
>> 1898.  You seem to have some private packed format.
>>
>> Interbase has a rich set of date and time handling functions built in,
>> provided you use the date type.
>>
>> You have two options in your application.  The first is to just do with
>> Sqlite what you did with interbase and have your own private date
>> format.  The second is to transform your dates into the Sqlite date
>> format.  It depends upon your application and reuse of legacy code.
>>
>> RB Smissaert wrote:
>>
>>>Don't know that much about it myself, but there are no functions for
>>> this
>>>that I know of. There are third party UDF's though and that is probably
>>
>> the
>>
>>>best way forward. We are still on Interbase 5.6 and I think the latest
>>> is
>>>7.5, so that might explain something.
>>>
>>>RBS
>>>
>>>-----Original Message-----
>>>From: John Stanton [mailto:[EMAIL PROTECTED]
>>>Sent: 03 December 2006 23:30
>>>To: sqlite-users@sqlite.org
>>>Subject: Re: [sqlite] Dealing with dates in the format yyyymmdd
>>>
>>>I know nothing of Interbase, but cannot imagine that it does not have a
>>>set of date manipulation functions.
>>>
>>>RB Smissaert wrote:
>>>
>>>
>>>>If I try to convert the integer Interbase date with standard SQL I get
>>>>something like this:
>>>>
>>>>CAST(CAST((E.ADDED_DATE - (CAST(E.ADDED_DATE / 10000 AS INT) * 10000))
>>>> - "
>>>
>>>&
>>>
>>>>_ "CAST((E.ADDED_DATE - CAST(E.ADDED_DATE / 10000 AS INT) * 10000) AS
>>>> INT)
>>>>AS INT) || '/' || " &  "CAST((E.ADDED_DATE - CAST(E.ADDED_DATE / 10000
>>>> AS
>>>>INT) * 10000) / 100 AS INT) || '/' || " &  "CAST(E.ADDED_DATE / 10000
>>>> AS
>>>>INT) AS VARCHAR(10))
>>>>
>>>>But I haven't got it working yet.
>>>>
>>>>RBS
>>>>
>>>>-----Original Message-----
>>>>From: RB Smissaert [mailto:[EMAIL PROTECTED]
>>>>Sent: 03 December 2006 21:05
>>>>To: sqlite-users@sqlite.org
>>>>Subject: RE: [sqlite] Dealing with dates in the format yyyymmdd
>>>>
>>>>Is the date function as in:
>>>>
>>>>Function Overview
>>>>
>>>>Five date and time functions are available, as follows:
>>>>
>>>>  1. date( timestring, modifier, modifier, ...)  ?
>>>>
>>>>Will give that a go.
>>>>
>>>>RBS
>>>>
>>>>
>>>>-----Original Message-----
>>>>From: John Stanton [mailto:[EMAIL PROTECTED]
>>>>Sent: 03 December 2006 20:46
>>>>To: sqlite-users@sqlite.org
>>>>Subject: Re: [sqlite] Dealing with dates in the format yyyymmdd
>>>>
>>>>Why not use Interbase to transform the date into a character string,
>>>>like an ISI8601 date or yymmdd, dd-mm-yyyy etc and then use the Sqlite
>>>>date function to insert it into Sqlite?
>>>>
>>>>RB Smissaert wrote:
>>>>
>>>>
>>>>
>>>>>>It looks like Interbase uses a traditional date format based on an
>>
>> epoch.
>>
>>>>>
>>>>>It just does year * 10000 + month * 100 + day
>>>>>
>>>>>
>>>>>I suppose I could something like this in SQL:
>>>>>
>>>>>((lIBDate - ((lIBDate \ 10000) * 10000 + ((lIBDate - (lIBDate \ 10000)
>>>>> *
>>>>>10000) \ 100) * 100)) + _
>>>>>                        (153 * (((lIBDate - (lIBDate \ 10000) * 10000)
>>>>> \
>>>>>100) + _
>>>>>                                12 * ((14 - ((lIBDate - (lIBDate \
>>>>
>>>>10000)
>>>>
>>>>
>>>>
>>>>>* 10000) \ 100)) / 12) - 3) + 2) / 5 + _
>>>>>                                ((lIBDate \ 10000) + 4800 - ((14 -
>>>>>((lIBDate - (lIBDate \ 10000) * 10000) \ 100)) / 12)) * _
>>>>>                                365 + ((lIBDate \ 10000) + 4800 - _
>>>>>                                       ((14 - ((lIBDate - (lIBDate \
>>>>>10000) * 10000) \ 100)) / 12)) / 4 - 32083) - _
>>>>>                                       2415033
>>>>>
>>>>>Except it looks a mess and it is one day out, I take it due to not
>>>>
>>>>declaring
>>>>
>>>>
>>>>
>>>>>variables as long as in my previously posted function.
>>>>>
>>>>>RBS
>>>>>
>>>>>-----Original Message-----
>>>>>From: John Stanton [mailto:[EMAIL PROTECTED]
>>>>>Sent: 03 December 2006 20:03
>>>>>To: sqlite-users@sqlite.org
>>>>>Subject: Re: [sqlite] Dealing with dates in the format yyyymmdd
>>>>>
>>>>>It looks like Interbase uses a traditional date format based on an
>>>>>epoch.  That is a system where a base date is set (the epoch) and the
>>>>>date is stored as an offset from that date.  It is stored as an
>>>>> integer.
>>>>>
>>>>>Sqlite uses a similar system, except that it uses a special epoch
>>>>>compatible with other calendars and incorporates the time, storing all
>>>>>of it in a 64 bit floating point format.
>>>>>
>>>>>You should be able to translate the date into a yymmdd format of some
>>>>>description from Interbase and use that to insert into Sqlite.  The
>>>>> ISO
>>>>>8601 date and time format is a widely used standard.
>>>>>
>>>>>RB Smissaert wrote:
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>>What do you mean by "integer format yyymmdd"?
>>>>>>
>>>>>>
>>>>>>This is an Interbase database and the Create statement of such a
>>>>>> field
>>>>>
>>>>>would
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>be like this:
>>>>>>
>>>>>>CREATE TABLE ENTRY(ADDED_DATE INTEGER, etc.
>>>>>>
>>>>>>Not sure what an epoch is, not sure how else to describe it.
>>>>>>
>>>>>>So, do you reckon I could, given the fact that I have an integer
>>>>>> number
>>>
>>>in
>>>
>>>
>>>>>>SQLite like 20061203, convert this in SQLite to another integer
>>>>>> number
>>>>>
>>>>>that
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>would give the number of days since 31 December 1899? Or do you think
>>>
>>>that
>>>
>>>
>>>>>I
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>could make accurate dates comparisons in SQLite with 20061203 etc.? I
>>>>>>suppose the trouble will be with weeks and days, years and months
>>>>>> would
>>>
>>>be
>>>
>>>
>>>>>>fine. So, for example it won't be that simple to say if 20061203 is
>>>>>> more
>>>>>>than 10 weeks past 20060920, whereas it will be easy to calculate
>>>>>> that
>>
>> it
>>
>>>>>is
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>less than 3 months passed that date.
>>>>>>Is there such a thing as the VB/VBA DateSerial in SQLite? This means
>>>
>>>given
>>>
>>>
>>>>>>the year, the month number and day number you can make a date?
>>>>>>
>>>>>>RBS
>>>>>>
>>>>>>-----Original Message-----
>>>>>>From: John Stanton [mailto:[EMAIL PROTECTED]
>>>>>>Sent: 03 December 2006 18:23
>>>>>>To: sqlite-users@sqlite.org
>>>>>>Subject: Re: [sqlite] Dealing with dates in the format yyyymmdd
>>>>>>
>>>>>>What do you mean by "integer format yyymmdd"?  Is it an integer based
>>>>>> on
>>
>>
>>>>>>an epoch or is it a number like 20061203 stored in a 32 bit word?
>>>>>>
>>>>>>We use Sqlite format dates and times and thereby get good SQL
>>>>>> capability
>>
>>
>>>>>>and have a small library of date function which interface into Unix
>>>>>> and
>>>>>>Windows date and time retrieval APIs.  A couple of simple Sqlite
>>>>>> custom
>>>>>>functions to do some date manipulation made the SQL simpler.
>>>>>>
>>>>>>Custom date functions are very easy to implement using Sqlite because
>>>>>>you can use the Sqlite date routines and style as a basis.
>>>>>>
>>>>>>The Sqlite epoch based date format is elegant because it permits you
>>>>>> to
>>>>>>present date and time not only according to any time zone but to
>>>>>> comply
>>>>>>with more than just the Gregorian calendar - with Middle Eastern and
>>>>>>Oriental ones should the need arise.
>>>>>>
>>>>>>RB Smissaert wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>Trouble is I need to import dates from Interbase that have the
>>>>>>> integer
>>>>>>>format yyyymmdd. How would I convert that (at import) to the SQLite
>>
>> date
>>
>>>>>>>format? I do the import via an ADO recordset and then move the data
>>>>>>> via
>>>>>>>SQLite inserts.
>>>>>>>
>>>>>>>RBS
>>>>>>>
>>>>>>>-----Original Message-----
>>>>>>>From: John Stanton [mailto:[EMAIL PROTECTED]
>>>>>>>Sent: 03 December 2006 17:01
>>>>>>>To: sqlite-users@sqlite.org
>>>>>>>Subject: Re: [sqlite] Dealing with dates in the format yyyymmdd
>>>>>>>
>>>>>>>Why not use the internal Sqlite date format.  Then date processing
>>>>>>> is
>>>>>>>straight forward and you can use the conversion routines to present
>>>>>>> it
>>>>>>>in the various national and ISO formats.
>>>>>>>
>>>>>>>Sqlite uses a very correct date storage format based on an epoch way
>>>>>>>back in antiquity so that you can present it in any national format.
>>>>>>>
>>>>>>>Using the internal format date comparison is just a numeric compare,
>>>>>>>which is efficient.
>>>>>>>
>>>>>>>If you need any special date presentation you can add a custome
>>
>> function
>>
>>>
>>>>>>>to Sqlite to achieve it from your SQL statement.
>>>>>>>
>>>>>>>RB Smissaert wrote:
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>Just thought of one reason why it I need something else in SQLite
>>>>>>>> than
>>>>>>>>yyyymmdd in the date field and that is because I need date
>>>>>>>> comparisons
>>>>>>>>between different tables. So, I need to do: is fieldA + x days >
>>>
>>>fieldB?
>>>
>>>
>>>>>>>>etc.
>>>>>>>>This will be difficult with the yyyymmdd format. I could of course
>>>>
>>>>update
>>>>
>>>>
>>>>
>>>>>>>>all the date fields in a VBA loop, but that might be a bit slow.
>>>>>>>> So,
>>
>> if
>>
>>>>>>>>anybody has an idea how to convert integer yyyymmdd to the Excel
>>>>>>>> date
>>>>>>>
>>>>>>>format
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>in SQLite I would be interested.
>>>>>>>>
>>>>>>>>RBS
>>>>>>>>
>>>>>>>>-----Original Message-----
>>>>>>>>From: RB Smissaert [mailto:[EMAIL PROTECTED]
>>>>>>>>Sent: 03 December 2006 15:37
>>>>>>>>To: sqlite-users@sqlite.org
>>>>>>>>Subject: RE: [sqlite] Dealing with dates in the format yyyymmdd
>>>>>>>>
>>>>>>>>I think it is easier to do this in VBA and as the main work is done
>>>>>>>> in
>>>
>>>a
>>>
>>>
>>>>>>>VBA
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>array it is quite fast as well. Not as elegant maybe as doing it in
>>>>>>>
>>>>>>>SQLite,
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>but it will do.
>>>>>>>>
>>>>>>>>RBS
>>>>>>>>
>>>>>>>>-----Original Message-----
>>>>>>>>From: Fred Williams [mailto:[EMAIL PROTECTED]
>>>>>>>>Sent: 03 December 2006 14:41
>>>>>>>>To: sqlite-users@sqlite.org
>>>>>>>>Subject: RE: [sqlite] Dealing with dates in the format yyyymmdd
>>>>>>>>
>>>>>>>>Is there a reason you can use Excel's "Format Cells" to accomplish
>>
>> what
>>
>>>>>>>>you wish? Enter a "Custom" format of "yyyy\mm\dd" in a cell and
>>>>>>>> enter
>>>>>>>>"=today()" as a value in that cell.  Have not fooled with Excel
>>>>>>>> much
>>>>>>>>lately, but I think you can even format a spreadsheet
>>
>> programmatically.
>>
>>>>>>>>Fred
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>>-----Original Message-----
>>>>>>>>>From: RB Smissaert [mailto:[EMAIL PROTECTED]
>>>>>>>>>Sent: Sunday, December 03, 2006 8:21 AM
>>>>>>>>>To: sqlite-users@sqlite.org
>>>>>>>>>Subject: [sqlite] Dealing with dates in the format yyyymmdd
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>When moving data from Interbase to SQLite I have to convert
>>>>>>>>>integer dates in
>>>>>>>>>the format yyyymmdd to Excel dates. These are integer numbers
>>>>>>>>>counting the
>>>>>>>>>days past 31 December 1899. With substr I can make it
>>>>>>>>>dd/mm/yyyy (I am in
>>>>>>>>>the UK and that is the normal way to format dates) but the
>>>>>>>>>problem is it
>>>>>>>>>will be displayed in Excel like mm/dd/yyyy if that would be a
>>>>>>>>>possible date.
>>>>>>>>>This is due to the US date format of Excel.
>>>>>>>>>So, would it be possible in SQLite to make a date format like
>>>>>>>>> this:
>>>>>>>>>dd/mmm/yyyy  so that would be 03/dec/2006
>>>>>>>>>This would prevent Excel from putting the month first.
>>>>>>>>>or alternatively make it the Excel integer date format so the
>>>>>>>>>above date
>>>>>>>>>would be: 39054
>>>>>>>>>
>>>>>>>>>I could handle the date formatting in VBA, but I would like
>>>>>>>>>to do as much as
>>>>>>>>>possible in SQLite as it will be faster and it would keep the
>>>>>>>>>code neater.
>>>>>>>>>Thanks for any advice.
>>>>>>>>>
>>>>>>>>>RBS
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>--------------------------------------------------------------
>>>>>>>>>---------------
>>>>>>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>>>>>>--------------------------------------------------------------
>>>>>>>>>---------------
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>>>-
>>>>>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>>>>>
>>>>>>>
>>>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>>>-
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>>>-
>>>>>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>>>>>
>>>>>>>
>>>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>>>-
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>>-
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>>>>>
>>>>>>>
>>>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>>-
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>>-
>>>>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>>>>
>>>>>>
>>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>>-
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>-
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>>>>
>>>>>>
>>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>-
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>-
>>>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>>>
>>>>>
>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>>-
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>-
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>>>
>>>>>
>>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>-
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>-
>>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>>
>>>>
>>>>
>> ----------------------------------------------------------------------------
>>
>>>>>-
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>>>
>>>>
>> ----------------------------------------------------------------------------
>>
>>>>-
>>>>
>>>>
>>>>
>>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>>
>>>>
>>>>
>> ----------------------------------------------------------------------------
>>
>>>>-
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>> ----------------------------------------------------------------------------
>>
>>>>-
>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>
>>>
>>>
>> ----------------------------------------------------------------------------
>>
>>>>-
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>> ----------------------------------------------------------------------------
>>
>>>>-
>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>
>>>
>>>
>> ----------------------------------------------------------------------------
>>
>>>>-
>>>>
>>>>
>>>>
>>>>
>>>>
>>>
>>>
>> ----------------------------------------------------------------------------
>>
>>>-
>>>
>>>
>>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>>
>>>
>>>
>> ----------------------------------------------------------------------------
>>
>>>-
>>>
>>>
>>>
>>>
>>
>> ----------------------------------------------------------------------------
>>
>>>-
>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>
>>
>> ----------------------------------------------------------------------------
>>
>>>-
>>>
>>>
>>>
>>>
>>>
>>
>> ----------------------------------------------------------------------------
>> -
>>
>>>To unsubscribe, send email to [EMAIL PROTECTED]
>>>
>>
>> ----------------------------------------------------------------------------
>> -
>>
>>
>>
>> ----------------------------------------------------------------------------
>> -
>> To unsubscribe, send email to [EMAIL PROTECTED]
>> ----------------------------------------------------------------------------
>> -
>>
>>
>>
>>
>> -----------------------------------------------------------------------------
>> To unsubscribe, send email to [EMAIL PROTECTED]
>> -----------------------------------------------------------------------------
>>
>
>
> -----------------------------------------------------------------------------
> To unsubscribe, send email to [EMAIL PROTECTED]
> -----------------------------------------------------------------------------
>
>
>




-----------------------------------------------------------------------------
To unsubscribe, send email to [EMAIL PROTECTED]
-----------------------------------------------------------------------------

Reply via email to