Skip to content

Commit

Permalink
Update readme.md
Browse files Browse the repository at this point in the history
  • Loading branch information
tobya authored Dec 28, 2023
1 parent 2434ca4 commit 80c8746
Showing 1 changed file with 9 additions and 2 deletions.
11 changes: 9 additions & 2 deletions readme.md
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
# MSSQL Dateformat Fixer

There is an international date format `Y-m-d` that is supposed to be universal, however the MSSQL implementation is flawed
There is an [international date format (ISO standard)](https://www.iso.org/iso-8601-date-and-time-format.html) (YYYY-MM-DD) `Y-m-d` that is supposed to be universal, however the MSSQL implementation is flawed
and is NOT universal and incorrectly interprets `Y-m-d` as `Y-d-m` which is beyond idiotic.
Laravel uses `Y-m-d` as their international format, which can lead to errors depending on SQL SERVER Settings.

There is one format `Ymd` which is absolutely gauranteed to always be interpreted by SQLServer as `Ymd`. This command patches the file in
illuminate library to use `Ymd` instead of `Y-m-d`. I [Requested]() that the change be made in the illuminate library but it was felt the change
illuminate library to use `Ymd` instead of `Y-m-d`. I [Requested](https://github.com/laravel/framework/issues/49074) that the change be made in the illuminate library but it was felt the change
was too big to be made.

I hope this is helpful to those of you out there using MSSQL with PHP/Laravel.
Expand Down Expand Up @@ -46,3 +46,10 @@ This is due to the fact that whenever `composer update` or `composer install` is
is updated it will overwrite the `SqlServerGrammar.php` with the origional version, so it is necessary to call
the command whenever this has the potential of happening. If no change has been made to the file it will
not be modified.

#### Further reading on why this is necessary

This is discussed in several places online

- [sqlblog.org/2009/10/16/bad-habits-to-kick-mis-handling-date-range-queries](https://sqlblog.org/2009/10/16/bad-habits-to-kick-mis-handling-date-range-queries)
- [stackoverflow.com/questions/19565320/why-is-sql-server-misinterpreting-this-iso-8601-format-date](https://stackoverflow.com/questions/19565320/why-is-sql-server-misinterpreting-this-iso-8601-format-date)

0 comments on commit 80c8746

Please sign in to comment.