sql-formatter
sql-formatter copied to clipboard
"Between And" with convert function are not formatted correctly
Hi
If "between and" go with convert function, the tools are not formatted correctly.
SELECT * FROM table WHERE 1=1 and date BETWEEN str_to_date('2001-01-01', '%Y-%M-%D') AND str_to_date('2001-12-01', '%Y-%M-%D') and 2=2
SELECT
*
FROM
table
WHERE
1 = 1
and date BETWEEN str_to_date('2001-01-01', '%Y-%M-%D')
AND str_to_date('2001-12-01', '%Y-%M-%D')
and 2 = 2
SELECT * FROM table WHERE date BETWEEN '2001-01-01' AND '2001-12-01'
SELECT
*
FROM
table
WHERE
date BETWEEN '2001-01-01' AND '2001-12-01'
The source code is only look behind 2.
private String formatNewlineReservedWord(Token token, String query) {
if (Token.isAnd(token) && Token.isBetween(this.tokenLookBehind(2))) {
return this.formatWithSpaces(token, query);
}
return this.addNewline(query) + this.equalizeWhitespace(this.show(token)) + " ";
}