Los datos expuestos en este blog, son solo de índole informativo. Por favor realiza siempre una copia de seguridad antes de realizar cualquier cambio en tu proyecto.
Oracle/PLSQL: determinar la longitud del campo LARGO
P: Tengo una tabla en Oracle con un campo de tipo de datos LARGO. Quiero saber cuántos caracteres se almacenan en el campo LARGO de un registro particular en una tabla.
¿Cómo contar la cantidad de caracteres en un campo de tipo de datos LARGO?
Respuesta: La longitud del campo LARGO no parece encontrarse en SQL. Sin embargo, puede usar el código PLSQL para determinar la longitud de un campo LARGO.
A continuación se muestra un ejemplo de una función que devuelve la longitud de un campo LARGO, denominado CONDICIÓN_BÚSQUEDA. Esta función acepta valores de clave principal (campos de propietario y nombre de restricción) y devuelve la longitud del campo SEARCH_CONDITION del registro seleccionado.
CREATE or REPLACE function Find_Length ( av_owner varchar2, av_cname varchar2) RETURN number IS long_var LONG; BEGIN SELECT SEARCH_CONDITION INTO long_var FROM ALL_CONSTRAINTS WHERE owner = av_owner AND constraint_name = av_cname; return length(long_var); END;
Puede modificar esta función para hacer referencia a su tabla y nombres de campo. ¡Darle una oportunidad!
Después de crear la función anterior, puede hacer referencia a la función en las instrucciones SQL. Por ejemplo,
SELECT owner, constraint_name, Find_Length(owner, constraint_name) FROM ALL_CONSTRAINTS;
Esta instrucción SQL recuperará los campos propietario y nombre_restricción, y la longitud del campo CONDICIÓN_BÚSQUEDA, de la tabla TODAS_RESTRICCIONES.
Puede modificar la función Find_Length para hacer referencia a su propia tabla y nombres de campo. También debe modificar los parámetros de la función para pasar su propio valor de clave principal.