Si quieres saber la longitud que ocupan los datos de cada campo te vale con la función Length(campo), de forma que el tamaño del registro sería:
select length(campo1) + length(campo2) + length(.... from tabla
Si lo que quieres es ver el tamaño en bytes con los que Oracle guarda internamente los datos, tendrías que utilizar la función VSIZE:
select vsize(campo1) + vsize(campo2) + vsize(.... from tabla
Una curiosidad: Una fecha ocupa 8 con length (independientemente de como se represente en pantalla; por ejemplo, puedes ver 25/12/2009 pero en realidad oracle cuenta sólo 8 dígitos), pero ocupa 7 con VSIZE
Otra curiosidad: Tengo un campo de tipo integer llamado estado; Cuando estado vale "1" esto es lo que me devuelve la select:
select Estado, length(Estado), vsize(Estado) from mitabla
Estado Length(Estado) vsize(Estado)
------- --------------- -------------
0 1 1
1 1 2
Un saludo
|