From ace4d2ed18e066a0cb325d319b9b64eaab778276 Mon Sep 17 00:00:00 2001 From: wangmm0220 Date: Mon, 10 Jan 2022 19:12:38 +0800 Subject: [PATCH] [TD-12252](connector,query,insert,other,tools,taosAdapter):deal with escape character --- documentation20/cn/12.taos-sql/docs.md | 21 +++++++++++++++++++++ documentation20/en/12.taos-sql/docs.md | 21 +++++++++++++++++++++ 2 files changed, 42 insertions(+) diff --git a/documentation20/cn/12.taos-sql/docs.md b/documentation20/cn/12.taos-sql/docs.md index 9f15d05cec..a626b0f293 100755 --- a/documentation20/cn/12.taos-sql/docs.md +++ b/documentation20/cn/12.taos-sql/docs.md @@ -1853,3 +1853,24 @@ TDengine 中的表(列)名命名规则如下: ```mysql select jtag->'key' from (select jtag from stable) where jtag->'key'>0 ``` +## 转义字符说明 +- 转义字符表 + + | 字符序列 | **代表的字符** | + | :--------: | ------- | + | \' | 单引号' | + | \" | 双引号" | + | \n | 换行符 | + | \r | 回车符 | + | \t | tab符 | + | \\ | 斜杠\ | + | \% | % 规则见下 | + | \_ | _ 规则见下 | + +- 转义字符使用规则 + 1. 标识符里有转义字符(数据库名、表名、列名) + 1. 普通标识符: 直接提示错误的标识符,因为标识符规定必须是数字、字母和下划线,并且不能以数字开头。 + 2. 反引号``标识符: 保持原样,不转义 + 2. 数据里有转义字符 + 1. 遇到上面定义的转义字符会转义(%和_见下面说明),如果没有匹配的转义字符会忽略掉转义符\。 + 2. 对于%和_,因为在like里这两个字符是通配符,所以在模式匹配like里用\%和\_表示字符里本身的%和_,如果在like模式匹配上下文之外使用\%或\_,则它们的计算结果为字符串\%和\_,而不是%和_。 \ No newline at end of file diff --git a/documentation20/en/12.taos-sql/docs.md b/documentation20/en/12.taos-sql/docs.md index 5cac5a78c7..052a46043b 100755 --- a/documentation20/en/12.taos-sql/docs.md +++ b/documentation20/en/12.taos-sql/docs.md @@ -1335,3 +1335,24 @@ Is not null supports all types of columns. Non-null expression is < > "" and onl select jtag->'key' from (select jtag from stable) where jtag->'key'>0 ``` +## Escape character description +- Special Character Escape Sequences + + | Escape Sequence | **Character Represented by Sequence** | + | :--------: | ------------------- | + | \\' | A single quote (') character | + | \\" | A double quote (") character | + | \n | A newline (linefeed) character | + | \r | A carriage return character | + | \t | A tab character | + | \\\ | A backslash (\) character | + | \\% | A % character; see note following the table | + | \\_ | A _ character; see note following the table | + +- Escape character usage rules + - The escape characters that in a identifier (database name, table name, column name) + 1. Normal identifier: The wrong identifier is prompted directly, because the identifier must be numbers, letters and underscores, and cannot start with a number. + 2. Backquote`` identifier: Keep it as it is. + - The escape characters that in a data + 3. The escape character defined above will be escaped (% and _ see the description below). If there is no matching escape character, the escape character will be ignored. + 4. The \% and \_ sequences are used to search for literal instances of % and _ in pattern-matching contexts where they would otherwise be interpreted as wildcard characters.If you use \% or \_ outside of pattern-matching contexts, they evaluate to the strings \% and \_, not to % and _. \ No newline at end of file -- GitLab