diff --git a/src/Adapters/MsSqlServerAdapter.php b/src/Adapters/MsSqlServerAdapter.php new file mode 100644 index 0000000..bc357e5 --- /dev/null +++ b/src/Adapters/MsSqlServerAdapter.php @@ -0,0 +1,23 @@ + 'yyyy-MM-dd HH:mm:00', + 'hour' => 'yyyy-MM-dd HH:00', + 'day' => 'yyyy-MM-dd', + 'week' => 'yyyy-ww', + 'month' => 'yyyy-MM', + 'year' => 'yyyy', + default => throw new Error('Invalid interval.'), + }; + + return "FORMAT({$column}, '{$format}')"; + } +} diff --git a/src/Trend.php b/src/Trend.php index 28ff762..f5ffdc3 100755 --- a/src/Trend.php +++ b/src/Trend.php @@ -5,6 +5,7 @@ use Carbon\CarbonInterface; use Carbon\CarbonPeriod; use Error; +use Flowframe\Trend\Adapters\MsSqlServerAdapter; use Flowframe\Trend\Adapters\MySqlAdapter; use Flowframe\Trend\Adapters\PgsqlAdapter; use Flowframe\Trend\Adapters\SqliteAdapter; @@ -174,6 +175,7 @@ protected function getSqlDate(): string 'mysql', 'mariadb' => new MySqlAdapter(), 'sqlite' => new SqliteAdapter(), 'pgsql' => new PgsqlAdapter(), + 'sqlsrv' => new MsSqlServerAdapter(), default => throw new Error('Unsupported database driver.'), };