Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 10-02-2007
El_Raso El_Raso is offline
Miembro
 
Registrado: oct 2003
Posts: 135
Poder: 21
El_Raso Va por buen camino
Cool Problama con campo NUMERIC(15,2)

Que tal muchachos...

Tengo la siguiente consulta:
Código SQL [-]
select a.Cliente, a.montocapital
from hprestamo a
where a.montocapital >= 1000.00 and a.MontoCapital <= 1000.00

Y no funciona para nada....dice que no hay registro y hay como 2000
Que estoy haciendo mal...

Uso IB 6.5 Dialect 1

Thx
Responder Con Cita
  #2  
Antiguo 10-02-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

La consulta está pidiendo registros "mayores o iguales que 1000.00" y "menores o iguales a 1000.00"... ¿no lleva eso precisamente a que no retorne resultado alguno? Porque no habrá registros "mayores o iguales que 1000.00" que a su vez sean "menores o iguales a 1000.00"... ¿No?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 10-02-2007
Avatar de LordRF
LordRF LordRF is offline
Miembro
 
Registrado: feb 2007
Posts: 71
Poder: 18
LordRF Va por buen camino
Hola,

al parecer no tienes ninguno registro que tenga el valor 1000.00 este seria el unico que te ensennaria si tubieras uno, ya que estas buscando todos los valores inferiores a 1000 y al mismo tiempo superiores, de ello se contradice.

para hacer lo que quieres utiliza el BETWEEN
Código Delphi [-]
where a.montocapital between "100.00" and "1000.00"
Responder Con Cita
  #4  
Antiguo 10-02-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues sí. Estaba yo olvidando el "igual que..."... lo que haría que como dice el compañero pudiera retornarse un registro: justamente el que tuviera el valor "1000.00".
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #5  
Antiguo 10-02-2007
El_Raso El_Raso is offline
Miembro
 
Registrado: oct 2003
Posts: 135
Poder: 21
El_Raso Va por buen camino
Gracias Muchachos por contestar...

En realidad ya ubiece probado con el between y tampoco me funciona... en realidad no le veo logica a esto ya que es una consulta super sencilla..
Tengo unos dos mil registro donde a.MontoCapital = 1000.00, de verdad que estoy tirando la toalla...

Al yo poner en la consulta >= y <= debe de traerme todos los que son 1000 y no trae nada...

Si alguien mas me puede ayudar por favor...
Responder Con Cita
  #6  
Antiguo 10-02-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Lo mismo estoy metiendo la pata, pero, si lo que quieres es traer los registros cuyo "a.MontoCapital = 1000.00", ¿porqué no pedir directamente esos registros? O sea, "where a.MontoCapital = 1000.00"?

Creo que esto es lo más "sencillo" y no la consulta que tú tratas de realizar, que sin duda es más compleja y además parece no ofrecerte los resultados deseados.

¿O es que hay algún motivo para tener que hacerlo tal como quieres? Yo no lo veo por ningún lado, pero, en fin, tal vez tú sí.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #7  
Antiguo 10-02-2007
El_Raso El_Raso is offline
Miembro
 
Registrado: oct 2003
Posts: 135
Poder: 21
El_Raso Va por buen camino
Gracias dec por tu respuesta... lo que en realidad quiero es los montos dentro de un Rango... Escogi el 1000.00 solo como ejemplo y es mas grabe aun la cosa... yo le pongo a.MontoCapital = 1000.00 y tampoco me trae nada y hay muchisimos registros con ese valor... de verdad que no tengo ni idea de lo que esta pasando..

Sigan pensando por mi por favor que ya yo no doy mas...
Responder Con Cita
  #8  
Antiguo 11-02-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Intenta con "between entre 999.00 y 1001.00", no recuerdo exactamente como funciona en dialecto 1, pero creo recordar que no se guarda exactamente los decimales que puedan tener.

No he trabajado con dialecto 1, pero en Firebird recuerdo perfectamente que para guardar valores monetarios, se debía usar numeric(10,2) como mínimo en Dialecto 3.

Saludos y suerte
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
Respuesta



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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Problemas con campos Numeric edgusano MS SQL Server 2 25-05-2005 18:04:36
Numeric (12, 4) en Delphi 7 oliverinf Firebird e Interbase 3 18-12-2004 00:02:40
problama select potlanos MS SQL Server 1 10-09-2004 10:43:31
Valores en campos numeric xerkan Firebird e Interbase 1 08-12-2003 20:41:43
Dominio Numeric(2,0) siempre = 0 apicito Firebird e Interbase 3 03-09-2003 00:18:56


La franja horaria es GMT +2. Ahora son las 08:54:30.


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