MySQL - FUNCION LENGTH

 
Vista:
sin imagen de perfil

FUNCION LENGTH

Publicado por DALSOM (23 intervenciones) el 26/06/2010 20:28:29
HOLA A TODOS,
ESTOY TRATANDO DE UTILIZAR LA FUNCION LENGTH DE MYSQL, PERO NO ENTIENDO QUE PUEDO ESTAR HACIENDO MAL. TAMBIEN LO PROBE CON CHAR_LENGTH, PERO NO ME FUNCIONA Y ARROJA EL MENSAJE DE ERROR COMUN EN MYSQL.

AQUI ESTA UN EJEMPLO DE LO QUE QUIERO HACER :

declare cd char(20);
set cd = ' Aca tapa ';
select LENGTH(cd) as trim;

Y ME DA EL ERROR DE QUE CONSULTE CON EL MANUAL DE REFERENCIA.

ENTONCES, COMO SE HACE UN LEN() DE VISUAL BASIC, FOX PRO, MS SQL EN MYSQL?

SALUDOS,
DALSOM.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:FUNCION LENGTH

Publicado por Gonzalo GC (339 intervenciones) el 27/06/2010 00:02:31
Es una pregunta para responder por el manual: http://dev.mysql.com/doc/refman/5.0/es/functions.html

La segunda pregunta sería: ¿Estás haciendo esa prueba en consola, o en un stored procedure?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:FUNCION LENGTH

Publicado por DALSOM (23 intervenciones) el 27/06/2010 04:01:16
HOLA GONZALO.
MUCHAS GRACIAS POR TOMARTE TIEMPO CONMIGO.

PUES TE DIGO, QUE NO TENGO INTERNET DISPONIBLE LAS 24 HORAS, PERO LO QUE HICE FUE BAJARME EL MANUAL EN PDF, Y DE AHI BUSCO LAS FUNCIONES.

EN CUANTO A LA PRUEBA, LA ESTOY HACIENDO POR EL ADMINISTRADOR PHPADMIN EN EL INTERNET EXPLORER. QUE ESTO, ES LO MAS CERCANO A LO QUE CONOZCO COMO QUERY ANALIZER O SERVER MANAGEMENT STUDIO DE MICROSOFT.

Y POR EL MOMENTO NO ESTA DENTRO DE UN STORED PROCEDURE, PERO ESA ES LA IDEA, Y ESTOY PROBANDO ANTES EN ESTE ANALIZADOR DE BUSQUEDAS, ANTES DE PONERLO EN UN STORED PROCEDURE.

RECUERDA QUE ESTOY APRENDIENDO CON LAS BASES DE MSSQL, Y POR ESO, PRUEBO CADA INSTRUCCION ANTES DE PONERLA EN UN SP O FUNCION, O ENVIARLA VIA PATH TRUE CON ODBC CON MI LENGUAJE DE PROGRAMACION O PLATAFORMA DE DESARROLLO.

SALUDOS,
DALSOM.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:FUNCION LENGTH

Publicado por DALSOM (23 intervenciones) el 27/06/2010 04:17:12
HOLA GONZALO, TE CUENTO, QUE PUEDE QUE HAYA ALGO QUE SE ESTE PASANDO POR ALTO, PUES, DE LO QUE QUIERO SABER LA LONGITUD, ES DE UNA VARIABLE, YA SEA PASADA COMO PARAMETRO, O QUE LA DECLARE Y LE ASIGNE EL VALOR.

LA FUNCION LENGTH HASTA AHORA, HE LOGRADO HACERLA FUNCIONAR CON CAMPOS DE TABLAS, NO CON VARIABLES COMO EN EL EJEMPLO QUE TE PUSE.

GRACIAS.
DALSOM.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:FUNCION LENGTH

Publicado por Gonzalo GC (339 intervenciones) el 27/06/2010 04:58:30
El problema es que las variables sin @, tal y como las que usas, sólo son válidas dentro de un stored procedure. No puedes usarlas desde línea de comandos.
SI lo quieres probar desde la ventana de SQL, debes usar variables de usuario y no locales. Para hacerlo ten en cuenta:
1) Las variables de usuario se identifican por estar precedidas por un arroba: @a, @hola, etc.
2) Las variables de usuario no se declaran. Se usan desde el momento en que se las invoca.
3) Este tipo de variables no tienen tipos de dato. Adoptan el tipo de dato de la primera asignación, por lo que siempre es mejor incializarlas.
4) Siguen existiendo y manteniendo el valor durante todo el tiempo que dure la conexión del usuario. Por ello, si se las invoca desde un script, es conveniente reinicializarlas antes de volver a usarla.

En tu caso el ejemplo sería:

set @cd = ' Aca tapa ';
SELECT LENGTH(cd) Texto;

Dos tips adicionales:
1) No uses palabras reservadas. Te pueden generar errores de difícil detección. TRIM es el nombre de una función, por lo que puede generar un error.
2) La cláusula AS es obsoleta. Ya no está en el estandar de SQL y su obligatoriedad desapareció de los DBMS hace años. Sólo se conserva su funcionalidad por compatibilidad con servidores antiguos.

Tip fnal: No escribas todo en mayúsculas. Parece que estuvieses gritando (eso significa en los foros), y hace que el texto sea más difícil de leer. Si no me crees, prueba poner un texto de varias páginas en mayúscula y trata de localizar en él una frase corta...
Tardarás bastante y tendras que leer con más cuidado o se te pasará.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

RE:FUNCION LENGTH

Publicado por DALSOM (23 intervenciones) el 27/06/2010 06:25:14
Perdona lo de las mayusculas, ya me lo habian dicho. Mis razones para hacerlo asi, es que puedo leerlo mejor, ya que las letras en minusculas son muy pequenas para poder leerlas y cometo muchos errores de escritura y no me doy cuenta. A veces, intentando cumplir esta norma, digito las instrucciones mal, y entonces la conversacion se desvia de la solucion, y tengo que volver a reformular el prolblema desde el principio nuevamente. Para lograr hacerme entender. Ese es el unico motivo por el cual todo lo escribo en mayusculas.

Por cierto, no me gusta ofender a personas, y si lo hago, es porque me agreden fisicamente o lo intentan y debo defenderme. Nunca fuera de esas circuntancias.

SALUDOS,
DESDE LA REP. DOMINICANA,
DALSOM.

Y MUCHISMAS GRACIAS POR LOS TIPS. ME SON DE GRAN AYUDA.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

GRACIAS. ;)

Publicado por DALSOM (23 intervenciones) el 27/06/2010 06:40:42
HOLA GONZALO,

SORPRENDENTEMENTE, SOLO CUANDO LE PUSE EL CONECTOR "AS" PARA DEFINIR EL NOMBRE DEL CAMPO, ENTONCES ME FUNCIONO EL EJEMPLO.
POR MI ESTA FANTASTICO. ESTOY USANDO LA VERSION CLIENTE 5.1.41, Y ESTA VIENE CON CON XAMPP.

DE VERDAD, MUY AGRADECIDO POR TU AYUDA. QUISIERA PODER PREGUNTAR OTRAS COSAS QUE NO SEPA, PERO POR AHORA, NO TENGO MAS PREGUNTAS.

MUCHISIMAS GRACIAS GONZALO.

SALUDOS,
DESDE LA REP. DOMINICANA,
DALSOM
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar