Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > MySQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-07-2004
[kayetano] kayetano is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Elche
Posts: 644
Poder: 22
kayetano Va por buen camino
Identificar el tipo de dato

Hola

Tengo que realizar unos cambios en una programación pero no puedo tocar la estructura de la base de datos.

Os pongo en situación:
En una sección del programa se pueden realizar consultas sobre todos los artículos seleccionando unas características (en un desplegable) y el posible valor de esa característica ( en otro desplegable ).
Un valor de una característica puede ser cualquier cosa, texto, numeros o lo que se le ocurra ya que se guarda en un tipo varchar.
Ahora me piden que si los valores de la característica son números (aunque almacenados en un campo varchar) en vez de mostrar el desplegable "VALOR" muestre dos desplegables "DESDE" y "HASTA".

Mi problema esta en como detectar si un dato guardado en un varchar es numérico y si el todos los valores de esta característica son numericos.

Estoy haciendo algunas pruebas del siguiente modo:
Código SQL [-]
SELECT valor, if( 0+valor, 0+valor, NULL ) AS valorNum 
FROM car_art 
WHERE ...
con esto obtengo el valor como cadena y el valor como número, pero con el siguiente comportamiento:
- si valor es 0, valorNum es NULL.
- si valor es un numero mayor de 0, valorNum es un número ( ej. "10" ).
- si valor es una cadena iniciada por un numero, valorNum es númerico (ej. "10 cm" ).
- si valor es una cadena iniciada por espacios y numeros, valorNum es un número (ej. " 10 cm" ).
- si valor es una cadena de texto iniciada por letras, valorNum es NULL.

Todas esta pruebas me habían animado mucho hasta que detecte valores del tipo "100x50" con lo que valorNum es 100.

Por lo tanto estoy a punto de descartar esta opción, y os pido vuestra colavoración para que propongáis sistemas alternativos para detectar si un dato guardado en un varcha es numérico o no.
Estoy pensando en añadir algun tipo de marca al inicio del valor tipo "#" o algo por el estilo, pero espero vuestras sugerencias para continuar.

Gracias a todos.
__________________
Salu2
KAYETANO

Cómo hacer preguntas de manera inteligente
Responder Con Cita
 



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 22:58:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi