Bueno ahora entonces tenemos un dilema, ya que cuando quiera hacer una consulta por ejemplo entre fechas deba primero saber que tipo de Formato usar (Americano, Español, etc) ya que no es lo mismo 10-11-2010 (donde 10 es el día y 01 el mes) a 10-11-2010 (Donde 10 es el mes y 01 el día).
Para nuestro ejemplo utilizaremos la Base de Datos Northwind que ya viene como ejemplo en nuestro Sql Server, de no tenerla favor de instalarla desde el instalador correspondiente.
/* Creamos un usuario donde su idioma predefinido es el Español */ sp_addlogin 'UserFechas','pepe','master','Español' /* vamos a darle acceso a nuestra Base de Datos Northwind */use NorthwindGOsp_grantdbaccess 'UserFechas' GOBien ahora usaremos la tabla Orders y haremos la consulta de fechas de dos formas distintas, la primera usando los formatos como la mayoría esta acostumbrado y la segunda utilizando el formato ANSI que seria el correcto.
use northwindgo -- Opcion que estamos acostumbrados a usarselect count(*) from orders where orderdate >='01-08-1997' -- Opcion con Ansiselect count(*) from orders where orderdate >='19970801'
Bien ahora tenemos casi el 90% resuelto de los problemas más habituales con fechas, pero de todos modos no deberíamos dejar de ver las funciones que están asociadas con la manipulación de Fechas.
Función Determinismo
DATEADD Devuelve un valor datetime nuevo que se basa en la suma de un intervalo a la fecha especificada.
DATEDIFF Devuelve el número de límites de fecha y hora que hay entre dos fechas especificadas.
DATENAME Devuelve una cadena de caracteres que representa la parte de la fecha especificada de la fecha especificada.
DATEPART Devuelve un entero que representa la parte de la fecha especificada de la fecha indicada..
DAY Devuelve un entero que representa la parte del día de la fecha especificada.
GETDATE Devuelve la fecha y hora actuales del sistema en el formato interno estándar de Microsoft® SQL Server™ para los valores datetime.
GETUTCDATE Devuelve el valor de datetime que representa la hora UTC actual (Universal Coordinated Time u hora del meridiano de Greenwich). La hora UTC actual se deriva de la hora local actual y la configuración de zona horaria del sistema operativo del equipo en el que se ejecuta SQL Server.
MONTH Devuelve un entero que representa el mes de una fecha especificada.
YEAR Devuelve un entero que representa la parte de año de la fecha especificada.
En el siguiente Link. Existen varios ejemplos sencillos para comprender, un poco mas algunas consultas SQL.Bueno, hasta la proxima.
"Si lo pueden soñar lo pueden lograr". (Gonzalo Cobo)
No hay comentarios:
Publicar un comentario