【问题标题】:TDengine database escaping charactersTDengine 数据库转义字符
【发布时间】:2021-09-11 05:47:15
【问题描述】:

我试图在 TDengine 的二进制字符串中添加一些特殊字符,但我不确定 TDengine 如何处理转义字符的规则,例如插入 '\t'(tab) 和 '\v'(vertical tab) 的行为在输出方面有所不同。谁能帮忙解释一下转义规则或流行的数据库中支持哪些常见的转义字符?

insert into tb values (now ,2 ,'\t'); 
insert into tb values (now ,2 ,'\\t');
insert into tb values (now ,2 ,'\\\t');

-----------------------------------------
select * from tb;
ts | id | chars |
=========================================================================
2021-08-19 19:48:05.494 | 1 | | 
2021-08-19 19:48:19.449 | 2 | t | 
2021-08-19 19:48:26.870 | 2 | | 
Query OK, 4 row(s) in set (0.005654s)

insert into tb values (now ,2 ,'\v');
insert into tb values (now ,2 ,'\\v');
insert into tb values (now ,2 ,'\\\v');

-----------------------------------------
taos> select * from tb;
ts | id | chars |
=========================================================================
2021-08-19 19:52:36.287 | 2 | v | 
2021-08-19 19:52:44.791 | 2 | v |
2021-08-19 19:52:48.934 | 2 | v |

【问题讨论】:

    标签: database escaping tdengine


    【解决方案1】:

    在 TDengine 中,有一个特殊字符转义序列。 详情:https://www.taosdata.com/docs/cn/v2.0/taos-sql

    转义字符使用规则: 标识符中的转义字符(数据库名、表名、列名): 1. 正常标识符: 错误标识符直接提示,因为标识符必须是数字、字母和下划线,不能以数字开头。 2.反引号``标识符:保持原样。 数据中的转义字符: 1.上面定义的转义字符会被转义(%和_见下文说明)。如果没有匹配的转义字符,则转义字符将被忽略。 2. \%\_ 序列用于在模式匹配上下文中搜索 % 和 _ 的文字实例,否则它们将被解释为通配符。如果在模式之外使用 \%\_ - 匹配上下文,它们评估为字符串 \%\_,而不是 % 和 _。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-12-11
      • 2021-11-06
      • 2022-11-26
      • 2022-11-23
      • 2012-10-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多