MDL-25276 dml - fix/implement sql_cast2int/real() across the 5 drivers. Tests passing.
[moodle.git] / lib / dml / sqlsrv_native_moodle_database.php
index 673bc0d..15b3a83 100644 (file)
@@ -1152,7 +1152,19 @@ class sqlsrv_native_moodle_database extends moodle_database {
     /// SQL helper functions
 
     public function sql_cast_char2int($fieldname, $text = false) {
-        return ' CAST('.$fieldname.' AS INT) ';
+        if (!$text) {
+            return ' CAST(' . $fieldname . ' AS INT) ';
+        } else {
+            return ' CAST(' . $this->sql_compare_text($fieldname) . ' AS INT) ';
+        }
+    }
+
+    public function sql_cast_char2real($fieldname, $text=false) {
+        if (!$text) {
+            return ' CAST(' . $fieldname . ' AS REAL) ';
+        } else {
+            return ' CAST(' . $this->sql_compare_text($fieldname) . ' AS REAL) ';
+        }
     }
 
     public function sql_ceil($fieldname) {