Truquito Sql para trabajar con fechas & Edades

Hola a todos, bueno hace raticos que no escribo, pero es por ocupaciones.

En este articulo quiero explicarles como trabajar con fechas en la UI y las edades dese sql. Como sabran la edad es un campo calculado que por norma no se debe guardar en la BD, tambien deben saber que los campos datetime y smalldatetime se usan para guardar fechas, pero que pasa si no quiero guardar la hora, ya que estos campos la guardan automaticamente y precisamente eso es lo que el cliente no quiere ver en el formulario (la hora).

Usarenos a Northwind. Asi queda el formulario si hago un select normalito.

Fechas

Para arreglar esto usamos la funcion CONVERT de sql

   1: SELECT     LastName, FirstName, CONVERT(varchar(11), BirthDate, 103) AS BirthDate
   2: FROM         Employees

Fechas1

Algunos se preguntaran por que 103, bueno por que este es el codigo del convert que me devuelve la fecha en formato dd/mm/aa. Para mas informacion revicen el link.

http://technet.microsoft.com/es-es/library/ms187928.aspx

Resuelto este problema pasamos al de la edad.

   1: CASE WHEN MONTH(BirthDate) > MONTH(getdate()) THEN (YEAR(getdate()) 
   2: - YEAR(BirthDate) - 1) WHEN MONTH(getdate()) = MONTH(BirthDate) 
   3: AND DAY(BirthDate) > DAY(GETDATE()) THEN YEAR(GETDATE()) - YEAR(BirthDate) 
   4: - 1 ELSE YEAR(GETDATE()) - YEAR(BirthDate) END AS Edad

Fechas2

Como veran la edad la calcule tomando en cuenta los dias y meses del año actual.

Bueno, espero les ayude.

S@ludos.

Romny

Published 18/5/2008 18:04 por Romny
Archivado en: ,
Comparte este post:
http://geeks.ms/blogs/rduarte/archive/2008/05/18/truquito-sql-para-trabajar-con-fechas-amp-edades.aspx

Comentarios

# re: Truquito Sql para trabajar con fechas & Edades

para SQL 2008, por fin se tendran los tipos de datos Date, y Time separados: geeks.ms/.../sql-server-2008-date-time-datetime2-datetimeoffset-a-la-vista.aspx.

Saludos,

Monday, May 19, 2008 12:15 AM por Sergio Tarrillo

# re: Truquito Sql para trabajar con fechas & Edades

gracias por tu ayuda me fue de gran utilidad

Thursday, July 24, 2008 5:47 PM por fredy

# re: Truquito Sql para trabajar con fechas & Edades

Muchas Gracias, llevaba días buscándolo

Wednesday, September 17, 2008 6:31 PM por Juan Carlos Pulido

# re: Truquito Sql para trabajar con fechas & Edades

Excelente aportacion.

Agradesco mucho tu informacion.

Thursday, April 23, 2009 5:12 AM por Ignacio Chavez Guzman