thanks.  this was the quickest way to accomplish the task

strtotime(); also works.  both are useful to know...



----- Original Message -----
From: "John W. Holmes" <[EMAIL PROTECTED]>
Date: Wed, 19 Mar 2003 21:47:23 -0500
To: "'freaky deaky'" <[EMAIL PROTECTED]>, <[EMAIL PROTECTED]>
Subject: RE: [PHP] convert VARCHAR 10 to DATETIME 

> > i am exporting a database out of filemakerpro 5 as a comma delimited
> file,
> > and
> > importing the data into a mysql database
> > 
> > most of the information transfer over ok,  the one big problem i have
> is
> > filemaker's date/time format.
> > 
> > in the filemaker pro database, it looks like the timestamp is stored
> in
> > the
> > format: M/DD/YYYY
> > 
> > mysql will not let me create a DATETIME field with X/XX/XXXX as the
> > default
> > value.  it automatically changes the default value to '0000-00-00'.
> > 
> > i will migrate the filemaker pro data, using VARCHAR 10 to store the
> > timestamp
> > information, but there needs to be a way to go through every entry in
> this
> > column, convert a string such as
> > 'M/DD/YYYY' to something compatible with mysql's DATETIME format.
> > 
> > the reason i'd like to convert the filemaker-generated 'M/DD/YYYY'
> > timestamp string, which would be stored as
> > VARCHAR in the db - to something like '0000-00-00' - is that i'd like
> to
> > convert the the data type of this field
> > from varchar 10 to DATETIME with a default value of 0000-00-00, so
> that
> > any sql queries searching through the
> > database by date will be compatible, as will any future entries that
> get
> > tacked onto this field in the database
> > after the migration from filemaker, which will be in DATETIME format
> 
> If you want to do it strictly in SQL, then use MySQL's String functions
> to pull apart the M/DD/YYYY date and format it into a valid MySQL Date. 
> 
> If you can run the whole thing through PHP, you may be able to use
> strtotime().
> 
> For the SQL solution, create a new column in your table that is a Date
> type. We'll call it f_date for this example. The following query will
> break apart the M/DD/YYYY and format it as YYYY/MM/DD, which is a format
> MySQL will accept.
> 
> UPDATE table SET f_date =  CONCAT(RIGHT(old_date,4), '/',
> SUBSTRING_INDEX(old_date,'/',2));
> 
> Hope that helps.
> 
> ---John W. Holmes...
> 
> PHP Architect - A monthly magazine for PHP Professionals. Get your copy
> today. http://www.phparch.com/
> 
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 

-- 
______________________________________________
http://www.linuxmail.org/
Now with e-mail forwarding for only US$5.95/yr

Powered by Outblaze

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to