FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Espero y sirva...
checate la siguiente instrucción, la he probado en sql server y tal vez se soporte en Interbase..
DATEDIFF Devuelve el número de límites de fecha y hora que hay entre dos fechas especificadas. Sintaxis DATEDIFF ( datepart , startdate , enddate ) Argumentos datepart Es el parámetro que indica en qué parte de la fecha se calcula la diferencia. La tabla enumera las partes de las fechas y abreviaturas reconocidas por Microsoft® SQL Server™. Parte de la fecha------Abreviaturas ------------------------------------------ Año-------------------yy,yyyy Mes-------------------mm,m Dia del Año-------------dy,y Dia----------------------dd,d Semana-------------------wk,ww Horas------------------------hh Minutos --------------------mi,n Segundos----------------------ss,s Milisegundos--------------------ms startdate Es la fecha de comienzo para el cálculo. startdate es una expresión que devuelve un valor datetime o smalldatetime, o una cadena de caracteres con formato de fecha. Puesto que smalldatetime es exacto únicamente en el minuto, cuando se utiliza un valor smalldatetime los segundos y milisegundos son siempre 0. enddate Es la fecha final para el cálculo. enddate es una expresión que devuelve un valor datetime o smalldatetime, o una cadena de caracteres con formato de fecha. Tipos devueltos integer Ejemplo En este ejemplo se determina la diferencia en días entre la fecha actual y la fecha de publicación de los títulos de la base de datos pubs. USE pubsGOSELECT DATEDIFF(day, pubdate, getdate()) AS no_of_daysFROM titles
__________________
I.S.C. Diódoro Guillermo Avilez Alanís Consultoria y Desarrollo de Tecnologías de Información TEL +52 8180 296184.
diodoro.avilez@takata.com Última edición por antrax fecha: 02-09-2004 a las 22:55:14. |
#2
|
|||
|
|||
Cita:
|
#3
|
|||
|
|||
Hola Antrax, talvez me puedas orientar:
Estoy haciendo un procedimiento con Firebird 2.1 e IBExpert que debe calcular los intereses diarios de acuerdo a una diferencia entre fechas. He puesto en practica tu recomendacion a enigma, sin embargo al ejecutar el procedimiento me emite el siguiente mensaje: "OverFlow occurred during data type conversion. conversion error from string "7-Oct-2013" '. Te inserto parte del codigo del procedimiento para un mejor entendimiento. SELECT FC.FECHA_VENCE, FC.MONTO_INTER_CORR FROM FINAN_CUOTAS FC WHERE FC.ID_FINANCIAMIENTO = :CODIGO AND FC.PERIODO_VENCE = :PERIODO INTO :MONTO_INT_MES, :FECHA_VENCE; d = datediff(day,:FECHA_VENCE, :FECHA_CORTE); -- d es una variable declarada como entero, fecha_corte es un parametro designado como date if (d > 0) then begin MONTO_INTER_CORR_DIAS = ((:MONTO_INT_MES / IAS_MES) * :d); end Agrdezco de antemano la ayuda que me puedas (an) brindar. Saludos |
#4
|
||||
|
||||
Bienvenido a clubdelphi, ¿ya leiste nuestra guía de estilo?, gracias por tu colaboración
Recuerda poner los tags al código fuente, ejemplo: Gracias Por cierto, este hilo es de hace 13 años, crea uno nuevo siguiendo las normas del foro, gracias. |
#5
|
||||
|
||||
Saltándome un poco las reglas, me gustaría preguntarte, ¿:FECHA_VENCE y :FECHA_CORTE, realmente son de tipo date, time o timestamp?, si no es así, quizá un cast te ayude, cambiando:
por
__________________
Lecciones de mi Madre. Tema: modificación del comportamiento, "Pará de actuar como tu padre!" http://www.purodelphi.com/ http://www.nosolodelphi.com/ |
|
|
|