diff --git a/apps/desktop/src/lib/sqlCompletion.ts b/apps/desktop/src/lib/sqlCompletion.ts index fb04ed6bf..86538dbfd 100644 --- a/apps/desktop/src/lib/sqlCompletion.ts +++ b/apps/desktop/src/lib/sqlCompletion.ts @@ -786,7 +786,7 @@ const SQL_FUNCTION_SIGNATURES = new Map([ ["COALESCE", ["value", "...values"]], ["IFNULL", ["expression", "fallback"]], ["NULLIF", ["expression1", "expression2"]], - ["CAST", ["expression", "type"]], + ["CAST", ["expression AS type"]], ["CONVERT", ["expression", "type"]], ["GREATEST", ["...values"]], ["LEAST", ["...values"]], diff --git a/packages/app-tests/sqlCompletion.test.ts b/packages/app-tests/sqlCompletion.test.ts index e2550821e..e798753c6 100644 --- a/packages/app-tests/sqlCompletion.test.ts +++ b/packages/app-tests/sqlCompletion.test.ts @@ -974,6 +974,18 @@ test("returns function signature help inside function arguments", () => { }); }); +test("returns cast signature with AS syntax", () => { + const sql = "select cast(created_at "; + const signature = getSqlFunctionSignatureHelp(sql, sql.length); + + assert.deepEqual(signature, { + name: "CAST", + signature: "CAST(expression AS type)", + activeParameter: 0, + parameters: ["expression AS type"], + }); +}); + test("returns null signature help outside function calls", () => { assert.equal(getSqlFunctionSignatureHelp("select created_at from users", "select created_at".length), null); });