admin

从字符串(VARCHAR2)oracle sql一一打印字符,而无需使用plsql,也无需使用double

sql

我正在使用ORACLE 11g学习SQL。如何在ORACLE
SQL中逐个字符地打印字符串(来自SELECT查询),而又不使用Dual和PLSQL?这是示例字符串:

'MANOJ'

输出应该是这样的:

M

A

N

O

J

我尝试使用LEVEL,CONNECT BY,但它们在isqlplus中不起作用。请帮忙!


阅读 143

收藏
2021-06-07

共1个答案

admin

这是 SUBSTRCONNECT BY LEVEL的简单用法。

例如,

SQL> SELECT SUBSTR('MANOJ', level, 1) str
  2  FROM dual
  3    CONNECT BY LEVEL <= LENGTH('MANOJ')
  4  /

S
-
M
A
N
O
J

SQL>

不确定“不使用DUAL表”是什么意思,但是上面的双表仅用于创建示例数据进行演示。在您的情况下,您可以使用列名而不是对值进行硬编码,并且如果您的值是子查询的结果,则可以使用子查询代替对偶表。

2021-06-07