Ver Mensaje Individual
  #16 (permalink)  
Antiguo 03/02/2015, 09:31
lulier19
 
Fecha de Ingreso: enero-2015
Mensajes: 13
Antigüedad: 9 años, 2 meses
Puntos: 0
Respuesta: Crear consultas para base de datos Mysql

Vaya, es extraño, mi mysql me detecta "ISDATE" como funcion
De todos modos, muchas gracias por este modo de realizarlo, ahora tengo una duda
Si quisiera crear una funcion para ver si una cadena de 8 elementos es una hora, ¿Seria asi?

Código MySQL:
Ver original
  1.  
  2. delimiter //
  3.   declare aux int default 0;
  4.   if STR_TO_DATE(cad, '%H/%M/%S') IS NOT NULL  then
  5.     SET aux=1;
  6.   end if;
  7. return aux;
  8. //
  9. delimiter ;

La funcion "esMatricula" creo que el error reside al incluir dos bucles "while" para recorrer la cadena de la posicion 1 a la 4 y otro bucle para recorrerla de la posicion 5 a la 7.

Pero no se otra forma de analizar la cadena en dos partes.

Tengo otra funcion creada para ver si una cadena de 8 caracteres esta formada unicamente por digitos:

Código MySQL:
Ver original
  1.  
  2. delimiter //
  3.     declare k int default length(cad);
  4.     declare i int default 1;
  5.     while(i<=k) do
  6.         if (ascii(substring(cad,i,1))>=48 and ascii(substring(cad,i,1))<=57) then
  7.             set i=i+1;
  8.         else
  9.             return 0;
  10.         end if;
  11.     end while;
  12.     return 1;
  13. //
  14. delimiter ;

Y he de decir, que funciona perfectamente sin ningun tipo de error.
Por eso pense que seria un buen metodo hacer lo mismo, pero fragmentandolo en dos mitades.
Pero nose si está expresado de manera correcta, o si contiene algún error de sintaxis como el "SET" de la funcion de la fecha.