C'est une simple utilisation de SUBSTR et CONNECTER PAR NIVEAU . Jetez un oeil à Comment diviser une chaîne en lignes .
Par exemple,
SQL> SELECT SUBSTR('MANOJ', level, 1) str
2 FROM dual
3 CONNECT BY LEVEL <= LENGTH('MANOJ')
4 /
S
-
M
A
N
O
J
SQL>
Vous ne savez pas ce que vous entendez par "ne pas utiliser la table DUAL", mais la table double ci-dessus est simplement utilisée pour créer les exemples de données à des fins de démonstration. Dans votre cas, vous pouvez utiliser le nom de la colonne au lieu de coder en dur la valeur, et vous pouvez utiliser une sous-requête à la place de la table double si votre valeur est le résultat d'une sous-requête.