第一章 SQL中使用的符号
SQL中用作运算符等的字符表
符号表
每个符号的名称后跟其ASCII十进制代码值。
符号 | 名称和用法 | ||||||
---|---|---|---|---|---|---|---|
[space] or [tab]
|
空白(制表符(9) 或空格(32 )):关键字、标识符和变量之间的一个或多个空白字符。 |
||||||
! |
感叹号(33 ):条件表达式中谓词之间的或逻辑运算符。用于WHERE 子句、HAVING 子句和其他地方。在SQL Shell 中! 命令用于发出ObjectScript命令行。 |
||||||
!= |
感叹号/等号:不等于比较条件。 | ||||||
" |
引号(34 ):包含一个分隔的标识符名称。在动态SQL中,用于将类方法参数的文字值括起来,例如将SQL代码作为%Prepare() 方法的字符串参数,或者将输入参数作为%Execute() 方法的字符串参数。在%PATTERN 中,用于将文字值包含在模式字符串中。例如,'3L1"L".L' (意思是3 个小写字母,后面跟着大写字母“L” ,后面跟着任意数量的小写字母)。在XMLELEMENT 中,用于括起标记名字符串。 |
||||||
"" |
两个引号:本身是无效的分隔标识符。在分隔标识符内,文字引号字符的转义序列。例如,"a""good""id" 。 |
||||||
# |
井号(35 ):有效的标识符名称字符(不是第一个字符)。前后带有空格的模算术运算符。对于嵌入式SQL,是ObjectScript宏预处理器指令前缀。例如,#include 。在SQL Shell 中,# 命令用于从SQL Shell 历史记录缓冲区调回语句。 |
||||||
$ |
美元符号(36 ):有效的标识符名称字符(不是第一个字符)。某些IRIS扩展SQL 函数的第一个字符。 |
||||||
$$ |
双美元符号:用于调用ObjectScript用户定义函数(也称为外部函数)。 | ||||||
% |
百分号(37 ):标识符名称的有效第一个字符(仅第一个字符)。某些 SQL 标准扩展的第一个字符,包括字符串排序函数(%SQLUPPER )、聚合函数(%DLIST )和谓词条件(%startswith )。SELECT 中%ID 、%TABLENAME 和%CLASSNAME 关键字的第一个字符。一些特权关键字(%CREATE_TABLE 、%ALTER )和一些角色名(%ALL )的第一个字符。 |
||||||
%% |
双百分号:伪字段引用变量关键字的前缀:%%CLASSNAME 、%%CLASSNAMEQ 、%%ID 和%%TABLENAME ,在ObjectScript计算字段代码和触发器代码中使用。 |
||||||
& |
与号(38 ):WHERE 子句和其他条件表达式中的AND 逻辑运算符。$BITLOGIC 位串和运算符。嵌入式SQL 调用前缀: |
||||||
' |
单引号字符(39 ):将字符串文字括起来。 |
||||||
'' |
双单引号字符:空字符串文字。字符串值中文字单引号字符的转义序列。例如:‘can’‘t’
|
||||||
( ) |
圆括号(40,41 ):用逗号分隔列表。将SQL 函数的参数括起来。将过程、方法或查询的参数列表括起来。大多数情况下,即使未提供参数或参数,也必须指定圆括号。在SELECT DISTINCT BY 子句中,将用于选择唯一值的项或项的逗号分隔列表括起来。在SELECT 语句中,将子查询括在FROM 子句中。括起UNION 中使用的预定义查询的名称。括起主机变量数组下标。例如,INTO:var(1),:var(2) 包含嵌入式SQL 代码:用于在算术运算中强制优先:3(3*5)=18 。用于对谓词进行分组:WHERE NOT (Age<20 AND Age>12) . |
||||||
(( )) |
双圆括号:禁止缓存查询中的文字替换。例如,SELECT TOP ((4)) Name FROM Sample.Person WHERE Name %STARTSWITH (('A')) .优化非空离群值的WHERE 子句选择。 |
||||||
* |
星号(42 ):通配符,在以下情况下表示“ALL” :在SELECT RETERVE ALL COLUMNS 中:SELECT*FROM TABLE 。在计数中,对所有行(包括空值和重复项)进行计数。在GRANT 和REVOKE 中,所有基本权限、所有表或所有当前定义的用户。 %MATCHES 模式字符串的多字符通配符。乘法算术运算符。 |
||||||
*/ |
星号斜杠:多行注释结束指示符。注释以/* 开头。 |
||||||
+ |
加号(43 ):加法算术运算符。一元正号运算符。 |
||||||
, |
逗号(44 ):列表分隔符,例如多个字段名称。在数据大小定义中:数字(精度,小数位数)。 |
||||||
– |
连字符(减号)(45 ):减法算术运算符。一元负号运算符.SQLCODE 错误代码前缀:-304 .日期分隔符.In %MATCHES 方括号内指定的范围指示符模式字符串。例如,[a-m] 。 |
||||||
–– |
双连字符:单行注释指示符。 | ||||||
–> |
连字符,大于(箭头):隐式联接箭头语法。 | ||||||
. |
句点(46 ):用于分隔多部分名称的各个部分,例如限定的表名:schema.tablename 或列名:tablealias.fieldname 以美国数字格式表示数字文字的小数点。俄语、乌克兰语和捷克语区域设置的日期分隔符:DD.MM.YYYY 作为变量或数组名称的前缀,指定通过引用传递:.name %PATTERN 字符串多字符通配符。 |
||||||
/ |
斜杠(47 ):除法算术运算符。日期分隔符。 |
||||||
/* |
斜杠星号:多行注释开始指示符。注释以*/ 结尾。 |
||||||
: |
冒号(58 ):主机变量指示符前缀::var 。小时、分钟和秒的时间分隔符。在CAST 和CONVERT 函数中,可选的每秒千分之一的分隔符。在触发器代码中,表示ObjectScript标签行的前缀。在CREATE PROCEDURE ObjectScript代码体中,是宏预处理器指令前缀。例如:#include 。 |
||||||
:: |
双冒号:在触发器代码中,这个双前缀表示该行开始的标识符(::name )是主机变量,而不是标签行。 |
||||||
; |
分号(59 ):过程、方法、查询和触发器代码中的SQL语句结尾分隔符。ImportDDL() 或任何使用TSQL方言指定SQL代码的地方都接受它作为语句末尾的可选分隔符。否则, SQL不会在SQL语句末尾使用或允许使用分号。 |
||||||
< |
小于(60 ):小于比较条件。 |
||||||
<= |
小于等于:小于等于比较条件。 | ||||||
<> |
小于/大于:不等于比较条件。 | ||||||
= |
等号(61 ):等于比较条件。在WHERE 子句中,内联接。 |
||||||
> |
大于(62 ):大于比较条件。 |
||||||
>= |
大于等于:大于等于比较条件。 | ||||||
? |
问号(63 ):在动态SQL中,由Execute 方法提供的输入参数变量。%MATCHES 模式字符串的单字符通配符。在SQL Shell 中? 命令显示SQL Shell 命令的帮助文本。 |
||||||
@ |
在符号(64 )处:有效的标识符名称字符(不是第一个字符)。 |
||||||
E, e |
字母“E” (69,101 ):指数指示符。指定任何可打印字符的%PATTERN 代码。 |
||||||
[ |
左方括号(91 ):包含谓词。用于WHERE 子句、HAVING 子句和其他地方。 |
||||||
[ ] |
左方括号和右方括号:在%Matches 模式字符串中,将匹配字符的列表或范围括起来。例如,[abc] 或[a-m] 。 |
||||||
\ |
反斜杠(92 ):整数除法算术运算符。%MATCHES 模式字符串转义字符。 |
||||||
] |
右方括号(93 ):跟在谓词后面。用于WHERE 子句、HAVING 子句和其他地方。 |
||||||
^ |
加号(94 ):%MATCHES 模式字符串一个非字符。例如,[^abc] 。 |
||||||
_ |
下划线(95 ):标识符名称的有效第一个(或后续)字符。某些用户名(但不是密码)的有效第一个字符。用于列名以表示嵌入的串行类数据:选择Home_State ,其中Home 是引用串行类的字段,State 是在该串行类中定义的属性。LIKE 条件谓词单字符通配符。 |
||||||
{ } |
大括号(123,125 ):用ODBC标量函数括起来:{fn name(...)} 。将时间和日期构造函数括起来{d 'string'}, {t 'string'}, {ts 'string'} 。在过程、方法、查询和触发器代码中关闭ObjectScript代码。 |
||||||
` | ` | 双竖线(124 ):串联运算符。复合ID 指示器。由 IRIS用作生成的复合对象ID (串联ID )中多个属性之间的分隔符。它可以是在多个属性上定义的IDKey 索引(`pro1 |
pro2),也可以是父子关系的 ID( parent |
Child)。不能在 IDKEY`字段数据中使用。 |