![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Muchas gracias por tu respuesta, pero no es lo que busco.
En realidad conozco bien lo que hace la funcion WeekOfTheMonth. No se si me hago entender. Tengo una tabla con clientes y un campo Fecha_nac. Cuando hago el Select DATEPART(week, fecha_nac) - DATEPART(week, DATEADD(month, DATEDIFF(month, 0, fecha_nac), 0))+1 as SemanaMes from Clientes me devuelve esto por ejemplo SemanaMes ----------- 1 1 4 3 2 5 1 y cuando a esas mismas fechas les paso la funcion en delphi, se asemejan mucho los numeros, ejemplo WeekOfTheMonth(Fecha_nac) 1 1 3 3 2 5 2 Muchos coinciden, pero otros no, y como me hace falta para mi programa que sea lo mismo que le digo, porque en delphi tengo que obtener otras fechas que no estan en la base de datos. Pues eso tiene que darme los mismos valores. Resumiendo, la consulta y la funcion no siempre devuelven los mismos valores, por eso es que quiero haceer mi propia funcion respecto a la funcion de la consulta. pero como no se que devuelve el DatePart, el dateadd y el datediff, por eso no puedo hacerla. ya que la consulta no la hice yo, la encontre en la web. Espero me haga entender. saludos |
|
#2
|
||||
|
||||
|
WeekOfTheMonth no devuelve todo lo que hace el calculo que haces con el SQL.
Debes traducir el calculo SQL con otras funciones Delphi: DATEPART() - WeekOfTheMonth o WeekOfYear DATEADD() - TDateTime + numero de días DETEDIFF() - Restar dos TDateTime
Última edición por duilioisola fecha: 03-12-2008 a las 16:45:25. |
|
#3
|
||||
|
||||
|
Mirándolo nuevamente, creo que esta es la solución:
|
|
#4
|
||||
|
||||
|
Casi casi hombre.
Pero siguen datos que no son iguales. El por que no lo se. De echo, tengo dos listbox, en uno los de la consulta y en otro los de la funcion. Se parecen mucho, pero varian algunos, incluso, extrañisimo, hay uno con valor -51 No se, falta algo en esa funcion que me has dado, quizas un simple detallito que estas obviando. Porque te repito, los valores se asemejan muchisimos. Los que mas varian son los que en uno me da la semana 5 en el otro me da la semana 1. y viceversa. y luego esta ese otro que me da -51 Saludos,. Última edición por paladincubano fecha: 03-12-2008 a las 17:42:21. |
|
#5
|
||||
|
||||
|
Ahora te toca a ti:
- Averigua cual es la diferencia entre DATEDIF y MonthsBetween - Averigua cual es la diferencia entra DATEADD e IncMonth - Averigua cual es la diferencia entre DATEPART y WeekOf Yo creo que la clave está en la forma en que calcula la semana según una fecha (DATEPART y WeekOf) Para eso puedes hacer un select de las fechas de un año y compararlas y luego comparar FieldDATEPART con WeekOf(FieldFECHA) |
|
#6
|
||||
|
||||
|
Cita:
Seguire investigando a ver que puedo hacer. gracias por tu valiosa ayuda. |
|
#7
|
||||
|
||||
|
DATEPART(WEEK,FECHA) y WeekOf(FECHA) deberían devolver los dos un entero.
A veces las conversiones de un SQL pueden darte 2,000000001. Estos valores los deberías tomar como enteros. Si DATEPART te devuelve 2,5 no tiene sentido para mi. Además, debes comparar DATEADD con IncMonth y DATEDIF con MonthsBetween. Ya nos dirás algo más... |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Como se si el Update se llevo a cabo | cacuna | Oracle | 8 | 14-06-2006 16:57:13 |
| Necesito saber como hacer esto en delphi | arpegius25 | Varios | 7 | 07-05-2006 11:03:49 |
| Como hago esto en Delphi ? | Markos1970 | OOP | 5 | 19-12-2005 15:40:29 |
| ¿eres nuevo en delphi como yo? ,, esto te ayudara | perudelphi | Noticias | 1 | 09-12-2004 07:41:03 |
| Como llevo de un txt a una tabla de forma atomatica? | danytorres | Varios | 2 | 27-09-2003 19:28:42 |
|