sql >> Base de Datos >  >> RDS >> Oracle

Imprimir caracteres uno por uno desde una cadena (VARCHAR2) Oracle sql sin usar plsql y también sin usar dual

Es un uso simple de SUBSTR y CONECTAR POR NIVEL . Eche un vistazo a Cómo dividir cadenas en filas .

Por ejemplo,

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

S
-
M
A
N
O
J

SQL>

No estoy seguro de lo que quiere decir con "no usar la tabla DUAL", pero la tabla dual anterior solo se usa para crear los datos de muestra para la demostración. En su caso, podría usar el nombre de la columna en lugar de codificar el valor, y podría usar una subconsulta en lugar de la tabla dual si su valor es el resultado de una subconsulta.