diff --git a/languages.toml b/languages.toml
index ad2e6658..112333ea 100644
--- a/languages.toml
+++ b/languages.toml
@@ -1825,7 +1825,7 @@ injection-regex = "sql"
 
 [[grammar]]
 name = "sql"
-source = { git = "https://github.com/DerekStride/tree-sitter-sql", rev = "25be0b8f17e9189ad9e1b875869d025c5aec1286" }
+source = { git = "https://github.com/DerekStride/tree-sitter-sql", rev = "da2d1eff425b146d3c8cab7be8dfa98b11d896dc" }
 
 [[language]]
 name = "gdscript"
diff --git a/runtime/queries/sql/highlights.scm b/runtime/queries/sql/highlights.scm
index 09b07489..e575debc 100644
--- a/runtime/queries/sql/highlights.scm
+++ b/runtime/queries/sql/highlights.scm
@@ -24,20 +24,20 @@
 (term
   alias: (identifier) @variable.parameter)
 
-(term
+((term
    value: (cast
     name: (keyword_cast) @function.builtin
-    parameter: [(literal)]?))
+    parameter: [(literal)]?)))
 
 (literal) @string
 (comment) @comment.line
 (marginalia) @comment.block
 
 ((literal) @constant.numeric.integer
-  (#match? @constant.numeric.integer "^-?\\d+$"))
+   (#match? @constant.numeric.integer "^[-+]?\\d+$"))
 
 ((literal) @constant.numeric.float
-  (#match? @constant.numeric.float "^-?\\d*\\.\\d*$"))
+  (#match? @constant.numeric.float "^[-+]?\\d*\\.\\d*$"))
 
 (parameter) @variable.parameter