Bekerja lintas basis data memang menantang, setiap basis data mempunyai ciri kekhasan sendiri, walaupun sama-sama memakai bahasa SQL. Contohnya ketika bekerja lintas MS-SQL (Microsoft SQL) dengan MySQL. Ada beberapa hal yang harus disesuaikan untuk mendapatkan data yang sesuai dengan format-format masing-masing. Karena itulah, konversi mutlak diperlukan untuk beberapa kasus tertentu, contohnya date time MSSQL dan MySQL yang berbeda.
MySQL tidak mendukung penyimpanan date time sedetil MSSQL yang telah sampai pada level microsecond. Konversi diperlukan untuk hal ini. Dalam bahasa PHP mungkin kode berikut bisa anda gunakan:
[sourcecode language=”php”]
function mssql_datetime_to_mysql($datetime)
{
$patern="/^([a-zA-Z]{3})\s{1,2}([0-9]{1,2})\s([0-9]{4})\s([0-9:]{9})([0-9]{3})(AM|PM)$/is";
preg_match_all($patern,$datetime,$match);
return $match;
}
[/sourcecode]
Sedangkan untuk pemakaiannya, silakan gunakan fungsi tersebut dengan input date time MSSQL. Misal, date time MS-SQL itu adalah Aug 11 2011 20:11:23:000PM, maka fungsi ini akan menghasilkan array sebagai berikut:
[sourcecode]
Array
(
[0] => Array
(
[0] => Aug 11 2011 20:11:23:000PM
)
[1] => Array
(
[0] => Aug
)
[2] => Array
(
[0] => 11
)
[3] => Array
(
[0] => 2011
)
[4] => Array
(
[0] => 20:11:23:
)
[5] => Array
(
[0] => 000
)
[6] => Array
(
[0] => PM
)
)
[/sourcecode]
NB. Thanks to papi Ilham Hernowo yang sudah membantu soal REGEX diatas.