[DBAL-467] DateTime handling in sqlsrv 2005 not quite right Created: 20/Mar/13  Updated: 01/Apr/13  Resolved: 01/Apr/13

Status: Resolved
Project: Doctrine DBAL
Component/s: Platforms
Affects Version/s: None
Fix Version/s: None
Security Level: All

Type: Bug Priority: Major
Reporter: Gordon Heydon Assignee: Benjamin Eberlei
Resolution: Invalid Votes: 0
Labels: None

window, sql svr 2005


The problem I am having is with how the DateTimeType converts the DateTime field from sql svr. It seems to need different formats in the ::getDateTimeFormatString() depending in if you are converting from the database to PHP or the other way.

The method format 'Y-m-d H:i:s.000' that is there now works if the database is only written to with PHP, and not anything else.

In my case I am sharing access with other technologies. So basically when converting from the Database to PHP the format needs to be 'Y-m-d H:i:s.u' and 'Y-m-d H:i:s.000' when converting the other way.

If there functions convertToDatabaseValue() and convertToPHPValue() where in the Platform, then I could override these with my own custom platform and I would be right.

Otherwise to do this right we need to split this up getDateTimeFormatString() into 2 different methods, 1 for the database, and 1 for php.

Comment by Benjamin Eberlei [ 01/Apr/13 ]

You can register your own type to handle this, or use the "VarDateTime" that is more flexible with this kind of date format.

Comment by Benjamin Eberlei [ 01/Apr/13 ]

I have clarified the VarDateTime approach in the SQL Server Platform Known Issues and Limitations documentation.

Generated at Sat Aug 29 03:22:02 EDT 2015 using JIRA 6.4.10#64025-sha1:5b8b74079161cd76a20ab66dda52747ee6701bd6.