Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 26-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Sql access a Firebird (Diferencias en las sentencias SQL)

Hola a todos.
Este hilo lo estoy haciendo para que queden plasmadas las dudas con relación a las diferencias que hay entre estas dos bases de datos (access y Firebird).
Estas diferencias en particular son en cuanto al uso del sql, el que varia en muchas cosas, algunas sencillas, otras no tanto.
He revisado mucha información en Internet, la verdad, como ya es usual las respuestas las he conseguido aquí.
Quiero hacer en cada post un comentario de un dato en particular.
Espero que los maestros que me están ayudando puedan ampliar esta referencia que seguro ayudara y motivara a mas de uno a hacer el cambio a Firebird.
Saludos
Responder Con Cita
  #2  
Antiguo 26-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
IIF( ) as que

Esta sentencia es muy usada en access.
En access se haria de esta manera:
Código SQL [-]
iif([tutambla.tucampo= #FA#],[Factura],[Consignación]) as tunombre.
Osea que si el campo es igual a FA tendríamos el valor verdadero (Factura) de lo contrario el falso (consignación).
Como ya aprendí, en firebird hay ciertas diferencias:
1- Para empezar Firebird SI acepta el uso de iif, por lo menos en Firebird 2.
2- No acepta el uso de corchetes [ ].
3- La opciones que darán el resultado verdadero o falso, tienen que estar entre comillas simples ' ';
4- No acepta #
Entonces viendo la sentencia anterior quedaría así en firebird:
Código SQL [-]
iif(tutambla.tucampo= 'FA','Factura','Consignacion') as tunombre.
Cualquier comentario adicional, con gusto sera recibido.
Saludos
Responder Con Cita
  #3  
Antiguo 27-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Date ( )

Este es otro comando que es usado para que devuelva la fecha actual en access.
Bueno como os habréis dado cuenta en Firebird no funciona.
Para eso están estas:
cast('NOW' as date)
Current_Date
En este hilo se habla mas al respecto, es en donde lo aprendí.
Saludos
Responder Con Cita
  #4  
Antiguo 27-12-2007
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Last ( ) as

Bueno este es otro que no reconoce firebird.
Esto se puede hacer de dos maneras, en este hilo se puede ver como.
Yo en mi caso use Max( ) as.
Funciono, perfectamente.
Saludos
Responder Con Cita
  #5  
Antiguo 27-12-2007
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 28
jachguate Va por buen camino
Cita:
Empezado por Caral Ver Mensaje
Esta sentencia es muy usada en access.
En access se haria de esta manera:
Código SQL [-]
iif([tutambla.tucampo= #FA#],[Factura],[Consignación]) as tunombre.
Bien ha dicho ya Caral que esto puede hacerse de manera muy similar en firebird, haciendo uso de una función.

También podría lograrse usando puro SQL, valiéndose del operador case:

Código SQL [-]
select case tutabla.tucampo
         when 'FA' then 'factura'
         when 'CO' then 'consignación'
         else 'desconocido'
       end as TuNombre
  from TuTabla;

Cómo se ve... en el case, pueden incluirse mas opciones, no solo 2, como en el IIF.

Un pequeño aporte a este esfuerzo de Caral.

Hasta luego.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
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
Diferencias entre Firebird e Interbase David Firebird e Interbase 6 28-04-2007 16:14:47
Diferencias en Sql Access y Mysql Caral SQL 1 27-08-2006 05:56:00
Diferencias entre Interbase y FireBird erickperez6 Firebird e Interbase 2 22-05-2006 21:14:38
Diferencias entre Firebird e Interbase mieltxo Firebird e Interbase 2 11-02-2006 22:28:07
Access ´03 con delphi7. Donde pongo las sentencias. casimaxi Conexión con bases de datos 4 27-07-2005 03:22:30


La franja horaria es GMT +2. Ahora son las 17:27:12.


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