diff --git a/lib/dml/moodle_database.php b/lib/dml/moodle_database.php index b4cfe68b709..f2bb68daa11 100644 --- a/lib/dml/moodle_database.php +++ b/lib/dml/moodle_database.php @@ -1208,6 +1208,16 @@ abstract class moodle_database { return ''; } + /** + * Returns the correct CEIL expression applied to fieldname + * @param string fieldname the field (or expression) we are going to ceil + * @return string the piece of SQL code to be used in your ceiling statement + * Most DB use CEIL(), hence it's the default. + */ + public function sql_ceil($fieldname) { + return ' CEIL(' . $fieldname . ')'; + } + /** * Returns the SQL to be used in order to CAST one CHAR column to INTEGER. * diff --git a/lib/dml/mssql_adodb_moodle_database.php b/lib/dml/mssql_adodb_moodle_database.php index a635231ea64..539f1e2c37f 100644 --- a/lib/dml/mssql_adodb_moodle_database.php +++ b/lib/dml/mssql_adodb_moodle_database.php @@ -111,6 +111,10 @@ class mssql_adodb_moodle_database extends adodb_moodle_database { return SQL_PARAMS_QM; } + public function sql_ceil($fieldname) { + return ' CEILING(' . $fieldname . ')'; + } + public function sql_cast_char2int($fieldname, $text=false) { if (!$text) { return ' CAST(' . $fieldname . ' AS INT) ';