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

Publicado por

Romny Duarte

Ingeniero de sistemas con experiencia en desarrollo web y móvil, geek, amante de la lectura y de la tecnología.

4 comentarios sobre “Truquito Sql para trabajar con fechas & Edades”

Responder a serghio Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *