在 Oracle SQL 中,单管道字符 ( '|' ) 的用途是什么?

Cof*_*fee 2 sql oracle oracle11g

今天我在 Oracle 中研究一些动态 SQL(或者可能是常规 SQL?),当时我看到管道字符在如下行中使用:

someVar := 'someValue' | 'someOtherValue'
Run Code Online (Sandbox Code Playgroud)

这让我很困惑。是像 TSQL 中那样按位或吗?或者是别的什么?我知道连接运算符 ( ||) ,但它不是那个。

Ósc*_*pez 5

||运算符用于连接两个字符串,在 Oracle 中单个运算符|不是有效的运算符。您确定发布的代码确实有效,并且确实在 Oracle 数据库上运行吗?


Ale*_*ole 5

文档仅将其显示为 TimesTen 中的按位 OR 运算符

两个操作数的按位或。如果表达式 1 和表达式 2 中的一个或两个相应位为 1,则将一位设置为 1。如果两个相应位均为 0,则将一位设置为 0。

但是您没有提到 TimesTen,并且它在“正常”SQL 或 PL/SQL 中无效。