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 06-04-2009
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
hola amigos, estaba pensando en hacer algo como los que plantea Gallosuarez, y me parece que para lo que necesito sólo debo utilizar la clausula EXTRACT, así que si hay un modo de "descomponer" la fecha, también debe haber un modo de "recomponer" fecha.

Ahora la cuestión es cuál es esa función, en delphi yo hago esto:
Código Delphi [-]
strtodate('30/'+formatdatetime('mm/yyyy'+fecha))

Nuevamente un millón de gracias


Gustavo Cruz
Responder Con Cita
  #2  
Antiguo 06-04-2009
Gallosuarez Gallosuarez is offline
Miembro
 
Registrado: feb 2007
Posts: 92
Poder: 18
Gallosuarez Va por buen camino
Talking Respuesta...

Delphius:

Respondiendo a tu pregunta (grosso-modo), la razón por la cual evito utilizar UDF's son basicamento dos:

1. Tengo un desarrollo de un sistema para escuelas, que solo lo instalaba en computadoras con Sistema Operativo Windows. Cuando tuve la necesidad de hacerlo en un sistema operativo Linux, hubo una funcion externa que solo funcionaba en Windows. Asi que mi sistema me enviaba un error muy extraño, despues de varios días de intensas pruebas (y dolores de cabeza), me di cuenta que lo que no estaba funcionando bien era una UDF's. (utilizando funciones internas esto no sucede jamás, y tu base de datos la puedes poner a funcionar en el S.O que tu decidas).

2. Estoy buscando la fuente (hace ya un rato que leí el documento), pero basicamente era uno de esos gurús en bases de datos que tenia problemas porque una UDF's le pegaba al desempeño del servidor (esto pasó cuando Borland no liberaba aun la licencia de Interbase). Este Sr. daba todo la explicación técnica (que ya no recuerdo bien como iba la cosa), en fin, a lo mejor algunos foristas avezados en estas lides nos puedan hechar mas luz sobre el asunto (en lo que yo encuentro el documento, si es que lo encuentro, claro está).

Por otro lado, respondiendo a Gustavo creo que lo que quiere ahora es lo siguiente:
Código SQL [-]

SELECT CAST('12/13/09' AS DATE)
FROM RDB$DATABASE

SELECT CAST('12/13/09 13:05:' AS TIMESTAMP)
FROM RDB$DATABASE

La "fecha cadena" debe de estar en el siguiente formato: 'mm/dd/yy'

Saludos,
Responder Con Cita
  #3  
Antiguo 06-04-2009
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
Amigo Gallosuarez, eso es exactamente lo que necesito...


Gracias por sus aportes...

Gustavo Cruz
Responder Con Cita
  #4  
Antiguo 06-04-2009
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Gracias Gallosuarez,
Respecto al punto 1, pues si... en parte hay una buena razón. Por otro lado para no encontrarse con esos problemas es que es recomendable leer la documentación que ofrece Firebird. Por ejemplo, en el caso de las funciones que yo mencioné están disponibles en Linux desde 1.5 pero en Windows desde la 1.0. Si hay algún error y ha sido reparado en el Release Notes se lo notifica.

Sobre el documento sería bueno leerlo. ¿No recuerdas más o menos el título del documento, a su autor o donde lo viste? En una de esas lo podemos hallar, si es que está disponible.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #5  
Antiguo 07-04-2009
Avatar de GustavoCruz
GustavoCruz GustavoCruz is offline
Miembro
 
Registrado: jul 2006
Ubicación: Sampués Sucre (Colombia)
Posts: 293
Poder: 18
GustavoCruz Va por buen camino
Continuando con la operaciones con fechas, en delphi hay una función que devuelve el número de días que hay entre una fecha y otra,

en Firebird cuál es

Una vez más un millón de gracias...
Responder Con Cita
  #6  
Antiguo 07-04-2009
Avatar de jhonny
jhonny jhonny is offline
Jhonny Suárez
 
Registrado: may 2003
Ubicación: Colombia
Posts: 7.058
Poder: 30
jhonny Va camino a la famajhonny Va camino a la fama
Ey, solo hasta ahora vengo a ver que alguien invocó mi nombre por estos lares , gracias por lo que me toca Delphius .

Cita:
Empezado por GustavoCruz Ver Mensaje
Continuando con la operaciones con fechas, en delphi hay una función que devuelve el número de días que hay entre una fecha y otra,

en Firebird cuál es

Una vez más un millón de gracias...
Desde Firebird 2.1 en adelante existe una función (de fabrica) llamada DATEDIFF que te servirá para esto que necesitas...

Sobre DATEDIFF coloco un pequeño ejemplo, en los comentarios de uno de los artículos (Funciones incorporadas en Firebird) colgados en mi blog...
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!"

http://www.purodelphi.com/
http://www.nosolodelphi.com/

Última edición por jhonny fecha: 07-04-2009 a las 22:58:27. Razón: Colocar una "pequeña referencia de documentación" al respecto...
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
Operaciones con fechas tifosi_loco SQL 2 06-12-2007 14:26:08
Operaciones con fechas jandres Varios 2 07-11-2006 19:16:27
operaciones entre fechas Torreblanca Varios 4 09-07-2005 20:20:27
Operaciones con fechas febito Oracle 1 05-08-2004 03:30:09
operaciones con fechas ing_alsaac Varios 2 11-05-2003 10:02:57


La franja horaria es GMT +2. Ahora son las 03:02:43.


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