É um uso simples de SUBSTR e CONECTAR POR NÍVEL . Dê uma olhada em Como dividir string em linhas .
Por exemplo,
SQL> SELECT SUBSTR('MANOJ', level, 1) str
2 FROM dual
3 CONNECT BY LEVEL <= LENGTH('MANOJ')
4 /
S
-
M
A
N
O
J
SQL>
Não tenho certeza do que você quer dizer com "não usar tabela DUAL", mas a tabela dupla acima é usada apenas para criar os dados de exemplo para demonstração. No seu caso, você pode usar o nome da coluna em vez de codificar o valor e pode usar uma subconsulta no lugar da tabela dupla se o valor for resultado de uma subconsulta.