检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
正则表达式函数 正则表达式使用标准化的语法约定来指定匹配字符串的模式。在Oracle中,正则表达式通过一组允许用户搜索和操作字符串数据的SQL函数来实现。
如果一个串是正则表达式描述的正则集中的一员时, 那么就说这个串匹配该正则表达式。 POSIX正则表达式提供了比LIKE和SIMILAR TO操作符更强大的含义。表2列出了所有可用于POSIX正则表达式模式匹配的操作符。
简单表达式 逻辑表达式 逻辑表达式的操作符和运算规则,请参见逻辑操作符。 比较表达式 常用的比较操作符,请参见比较操作符。 除比较操作符外,还可以使用以下句式结构: BETWEEN操作符 操作符BETWEEN...AND会选取介于两个值之间的数据范围。这些值可以是数值、文本或日期。
条件表达式 在执行SQL语句时,可通过条件表达式筛选出符合条件的数据。 条件表达式主要有以下几种: CASE CASE表达式是条件表达式,类似于其他编程语言中的CASE语句。 CASE表达式的语法图请参考图1。 图1 case::= CASE子句可以用于合法的表达式中。condition
行表达式 语法: 1 row_constructor operator row_constructor 两边都是一个行构造器,两行值必须具有相同数目的字段,每一行都进行比较,行比较允许使用=,<>,<,<=,>=等操作符,或其中一个相似的语义符。 =<>和别的操作符使用略有不同。
表达式 简单表达式 条件表达式 子查询表达式 数组表达式 行表达式
除法表达式 MySQL中,除法表达式中,当除数为0时,会返回null值。DWS会报错,因此对除法表达式进行转换,增加一个if条件表达式。 输入示例 1 2 select sum(c1) / c2 as result from table_t1; select sum(c1) / count
数组表达式 IN expression IN (value [, ...]) 右侧括号中的是一个表达式列表。左侧表达式的结果与表达式列表的内容进行比较。如果列表中的内容符合左侧表达式的结果,则IN的结果为true。如果没有相符的结果,则IN的结果为false。 示例如下: 1 2
子查询表达式 子查询表达式主要有以下几种: EXISTS/NOT EXISTS EXISTS/NOT EXISTS的语法图请参见图1。 图1 EXISTS/NOT EXISTS::= EXISTS的参数是一个任意的SELECT语句或者子查询。系统对子查询进行运算以判断它是否返回行。
与substr功能相似,正则表达式出现多个并列的括号时,也全部处理。
表达式 GS_215100033 错误码: could not determine interpretation of row comparison operator %s. 解决方案:行比较运算符必须与btree运算符族相关联。 level: ERROR GS_215130026
条件表达式 在执行SQL语句时,可通过条件表达式筛选出符合条件的数据。 条件表达式主要有以下几种: CASE CASE表达式是条件表达式,类似于其他编程语言中的CASE语句。 CASE表达式的语法图请参考图1。 图1 case::= CASE子句可以用于合法的表达式中。condition
行表达式 语法: row_constructor operator row_constructor 两边都是一个行构造器,两行值必须具有相同数目的字段,每一行都进行比较,行比较允许使用=,<>,<,<=,>=等操作符,或其中一个相似的语义符。 =<>和别的操作符使用略有不同。如果两行值的所有字段都是非空并且相等
子查询表达式 子查询表达式主要有以下几种: EXISTS/NOT EXISTS EXISTS/NOT EXISTS的语法图请参见图1。 图1 EXISTS/NOT EXISTS::= EXISTS的参数是一个任意的SELECT语句,或者说子查询。系统对子查询进行运算以判断它是否返回行
简单表达式 逻辑表达式 逻辑表达式的操作符和运算规则,请参见逻辑操作符。 比较表达式 常用的比较操作符,请参见比较操作符。 除比较操作符外,还可以使用以下句式结构: BETWEEN操作符 a BETWEEN x AND y等效于a >= x AND a <= y a NOT BETWEEN
数组表达式 IN expression IN (value [, ...]) 右侧括号中的是一个表达式列表。左侧表达式的结果与表达式列表的内容进行比较。如果列表中的内容符合左侧表达式的结果,则IN的结果为true。如果没有相符的结果,则IN的结果为false。 示例如下: 1 2
如果一个串是正则表达式描述的正则集中的一员时, 那么就说这个串匹配该正则表达式。 POSIX正则表达式提供了比LIKE和SIMILAR TO操作符更强大的含义。表2列出了所有可用于POSIX正则表达式模式匹配的操作符。
表达式 简单表达式 条件表达式 子查询表达式 数组表达式 行表达式
ALL_IND_EXPRESSIONS ALL_IND_EXPRESSIONS视图存储了当前用户可访问的表达式索引的信息。 表1 ALL_IND_EXPRESSIONS字段 名称 类型 描述 index_owner character varying(64) 索引的所有者。 index_name
由于要识别派生词并不是那么容易,因此正则表达式也不能满足要求。如,satisfies和satisfy,当使用正则表达式寻找satisfy时,并不会查询到包含satisfies的文档。用户可以使用OR搜索多种派生形式,但过程非常繁琐。并且有些词会有上千的派生词,因此容易出错。