表达式
表达式指定一个值。
条件表达式可以由比较运算符和逻辑运算符 (AND、OR、NOT) 组成。
算术表达式可以在比较表达式中使用,并可以由以下内容组成:算术运算和函数、求值结果为数值的路径表达式以及数字文字和数字输入参数。
字符串表达式可以在比较表达式中使用,并可以由以下内容组成:字符串函数、求值结果为字符串值的路径表达式以及字符串文字和字符串输入参数。将 char 类型的 CMP 字段作为长度为 1 的字符串来处理。
二进制表达式可以在比较表达式中使用,并可以由以下内容组成:求值为 Java byte[] 类型的路径表达式以及 byte[] 类型的输入参数。
布尔表达式可以与 = 和 <> 比较运算符一起使用,并可以由以下内容组成:求值为布尔值的路径表达式、TRUE 和 FALSE 关键字以及布尔输入参数。
引用表达式可以与 = 和 <> 比较运算符一起使用,并可以由以下内容组成:求值为 cmr 字段的路径表达式、标识变量和类型为 EJB 引用的输入参数。
支持四种不同的表达式类型使用日期时间类型。从可移植性方面考虑,应该使用 java.util.Calendar 类型。如果数据存储是 DB2 且 CMP 字段的类型是 java.util.Date、java.sql.Date、java.sql.Time 或 java.sql.Timestamp,那么支持 DB2 样式日期、时间和时间戳记表达式。如果使用 DB2 UDB,那么可能在使用 java.sql.Timestamp.ojbect 时产生语法错误。必须使用语法 TIMESTAMP 'yyyy-mm-dd hh:mm:ss.nnnn'。
日历类型可以与另一个日历类型、精确的数字文字或 long 类型的输入参数(其值为标准 Java long 毫秒值)作比较。
SELECT OBJECT(e) FROM EmpBean e WHERE e.birthDate < 631180800232
日期表达式可以在比较表达式中使用,并可以由以下内容组成:+ - 运算符、日期持续时间表达式和日期函数、求值为日期值的路径表达式、日期和日期输入参数的字符串表示法。
时间表达式可以在比较表达式中使用,并可以由以下内容组成:+ - 运算符、持续时间表达式和时间函数、求值为时间值的路径表达式、时间和时间输入参数的字符串表示法。
时间戳记表达式可以在比较表达式中使用,并可以由以下内容组成:+ - 运算符、时间戳记持续时间表达式和时间戳记函数、求值为时间戳记值的路径表达式、时间戳记和时间戳记输入参数的字符串表示法。
支持用于对表达式求值排列次序的标准括号 ( )。
- 导航运算符 (.)
- 算术运算符的优先顺序:
- + - 一元运算
- * / 乘、除
- + - 加、减
- 比较运算符:=、>、<、>=、<= 和 <>(不等于)
- 逻辑运算符 NOT
- 逻辑运算符 AND
- 逻辑运算符 OR