Alternativa a substr

Hola.
Sí... Puedes "formatear" el campo.
Por ejemplo, el campo se llama "nombre" y es un varchar2(100), pero solo quieres mostrar los primeros 50 caracteres. Escribe en el .sql
column nombre format a50
[...]
select nombre from tabla;
[...]
select nombre, apellidos from tabla where id > 10;
[...]
Es decir:
- Defines una columna llamada "nombre" como un campo "a50" (alfanumérico de 50).
- Ya puedes usar ese campo en las consultas normalmente, pero solo mostrará una longitud de 50 caracteres.
- Si deseas modificar la longitud, solo tienes que cambiarlo en la primera línea (column nombre format a75)
- Mira la documentación de "column" para ver más parámetros, por ejemplo "wrap", para números, etc. Es muy útil.
Un saludo,
Tinoco DBA (tinodba)

1 respuesta

Respuesta
1
No pasa nada...
El truco del "column" es en realidad usar "nombres de formatos". Me explico:
1) Defines los formatos que sean:
a) Alfanumérico de 50
b) Alfanumérico de 75
2) Luego le das un nombre a cada uno de los formatos, al ser posible que sean auto-descriptivos:
a) Alfanum50
b) alfanum75
3) Y para acabar, los usas como alias de los campos que quieras formatear:
a) select nombre alfanum50 from tabla;
b) select nombre alfanum75 from tabla;
¿Te sirve así? Todo es jugar un poco con el sqlplus.
Hola.
Tengo que hacer muchas consultas en un mismo fichero SQL. Mi problema es que muestro siempre un campo muy largo y tengo que estar
haciendo substr(campo, 1,50) en todas las queries (15).
Además, mi problema se agravó al tener que modificar la longitud mostrada de 50 a 75... con lo que tuve que ir cambiando todos los substr.
¿Hay alguna manera de no tener que hacerlo en cada consulta? ¿Existe alguna "macro" o algo automático para ahorrar tiempo en su
mantenimiento?
Gracias.
Muchas gracias, pero ahora tengo otro problema.
No me di cuenta y tengo que mostrar el mismo campo de 2 maneras diferentes (a veces a 50 y otras a 75), así que haciendo lo que me dices me salen todos iguales (todos a 50 o todos a 75).
? ¿Tienes alguna otra solución? En realidad con tu respuesta anterior ya me vale, pero...
Muchas gracias
Casi, casi...
Ahora tengo otro problema, pero para no alargar esta pregunta (y porque ya no tiene que ver con el substr) prefiero hacerte otra pregunta para ver si puedo solucionar lo nuevo. Uff, qué lío!
El tema del substr -> OK (Excelente)
El tema de usar varios formatos -> OK, aunque ya te contaré. (Bien)
Muchísimas gracias.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas