The new SQL syntax requires correct dialect to be selected as it supports MySQL (the default), T-SQL and PostreSQL, all of which use specific syntax or support unique statements/expressions/keywords/etc.
Identifiers (columns, …) wrapped into brackets is supported by T-SQL only, but is no valid syntax in MySQL or PostgreSQL. Same applies to various string literals and escape sequences as well as keywords.
In other words, despite a claimed ANSI SQL standard, there’s no standard SQL beyond very basic statements.
The old SQL syntax also failed on those details or just didn’t apply any scope to various dialects.
Using the wrong dialect of new SQL just fails in other ways as it attempts to scope sql statements more detailed - not saying it’s perfect.
To assign desired dialect (e.g. T-SQL or PostgreSQL) to sql extensions, use the “Always open this file with…” menu entry.
The only way to change dialect used in strings (e.g. Python, or PHP) is by overriding SQL.sublime-syntax. You can try DefaultSyntaxChooser or the simplified plugin proposed in https://github.com/sublimehq/Packages/pull/4279 to do so via Command Palette command “SQL: Select Dialect”.
already asked at Red highlighting on end square bracket for SQL