diff --git a/mod/data/field/date/field.class.php b/mod/data/field/date/field.class.php index bc35d4aea25..50236392dea 100755 --- a/mod/data/field/date/field.class.php +++ b/mod/data/field/date/field.class.php @@ -113,7 +113,18 @@ class data_field_date extends data_field_base { } function get_sort_sql($fieldname) { - return 'CAST('.$fieldname.' AS unsigned)'; + global $CFG; + + switch ($CFG->dbfamily) { + case 'postgres': + case 'mssql': + return 'CAST('.$fieldname.' AS bigint)'; + case 'oracle': + return 'TO_NUMBER('.$fieldname.')'; + case 'mysql': + default: + return 'CAST('.$fieldname.' AS signed)'; + } }