Skip to content

Commit bd8a2c1

Browse files
authored
Microsoft sql server: Escape quotes in national string display (apache#2365)
1 parent d0c081e commit bd8a2c1

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

src/ast/value.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -273,7 +273,7 @@ impl fmt::Display for Value {
273273
Value::DollarQuotedString(v) => write!(f, "{v}"),
274274
Value::EscapedStringLiteral(v) => write!(f, "E'{}'", escape_escaped_string(v)),
275275
Value::UnicodeStringLiteral(v) => write!(f, "U&'{}'", escape_unicode_string(v)),
276-
Value::NationalStringLiteral(v) => write!(f, "N'{v}'"),
276+
Value::NationalStringLiteral(v) => write!(f, "N'{}'", escape_single_quote_string(v)),
277277
Value::QuoteDelimitedStringLiteral(v) => v.fmt(f),
278278
Value::NationalQuoteDelimitedStringLiteral(v) => write!(f, "N{v}"),
279279
Value::HexStringLiteral(v) => write!(f, "X'{v}'"),

tests/sqlparser_common.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6192,6 +6192,10 @@ fn parse_literal_string() {
61926192

61936193
one_statement_parses_to("SELECT x'deadBEEF'", "SELECT X'deadBEEF'");
61946194
one_statement_parses_to("SELECT n'national string'", "SELECT N'national string'");
6195+
one_statement_parses_to(
6196+
r#"SELECT n'Tu geres '';'' et ''"'' ?'"#,
6197+
r#"SELECT N'Tu geres '';'' et ''"'' ?'"#,
6198+
);
61956199
}
61966200

61976201
#[test]

0 commit comments

Comments
 (0)