操作符
一个操作符名是最多NAMEDATALEN-1(默认为 63)的一个字符序列,其中的字符来自下面的列表: + - * / < > = ~ ! @ # % ^ & | ` ?
不过,在操作符名上有一些限制:
--and/*不能在一个操作符名的任何地方出现,因为它们将被作为一段注释的开始。一个多字符操作符名不能以
+或-结尾,除非该名称也至少包含这些字符中的一个:~ ! @ # % ^ & | ` ?
例如,
@-是一个被允许的操作符名,但*-不是。这些限制允许 AntDB 解析 SQL 兼容的查询而不需要在记号之间有空格。
当使用非 SQL 标准的操作符名时,通常需要用空格分隔相邻的操作符来避免歧义。例如,如果定义了一个名为@的左一元操作符,不能写 X*@Y,必须写 X* @Y 来确保 AntDB 把它读作两个操作符名而不是一个。
特殊字符
一些不是数字字母的字符有一种不同于作为操作符的特殊含义。这些字符的详细用法可以在描述相应语法元素的地方找到。这一节只是为了告知它们的存在以及总结这些字符的目的。
- 跟随在一个美元符号(
$)后面的数字被用来表示在一个函数定义或一个预备语句中的位置参数。在其他上下文中该美元符号可以作为一个标识符或者一个美元引用字符串常量的一部分。 - 圆括号(
())具有它们通常的含义,用来分组表达式并且强制优先。在某些情况中,圆括号被要求作为一个特定 SQL 命令的固定语法的一部分。 - 方括号(
[])被用来选择一个数组中的元素。更多关于数组的信息见。 - 逗号(
,)被用在某些语法结构中来分割一个列表的元素。 - 分号(
;)结束一个 SQL 命令。它不能出现在一个命令中间的任何位置,除了在一个字符串常量中或者一个被引用的标识符中。 - 冒号(
:)被用来从数组中选择“切片”。在某些 SQL 的“方言”(例如嵌入式 SQL)中,冒号被用来作为变量名的前缀。 - 星号(
*)被用在某些上下文中标记一个表的所有域或者组合值。当它被用作一个聚集函数的参数时,它还有一种特殊的含义,即该聚集不要求任何显式参数。 - 句点(
.)被用在数字常量中,并且被用来分割模式、表和列名。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




