SQL - Hablando sobre fechas III

 
Vista:

Hablando sobre fechas III

Publicado por Gonzalo Solano C. (148 intervenciones) el 22/10/2001 09:21:05
SET DATEFORMAT DMY
DECLARE @hoy DATETIME
SELECT @hoy = '12/2/2001'
SELECT @hoy
Veran que el resultado es 2001-02-12 00:00:00.000 (YYYY-MM-DD ....)
Pero si jugamos un poco con la instrucción SET DATEFORMAT y ejecutamos
SET DATEFORMAT MDY
DECLARE @hoy DATETIME
SELECT @hoy = '12/2/2001'
SELECT @hoy
El resultado es 2001-12-02 00:00:00.000 o traducido igual a 2 de Diciembre del 2001, este ejemplo es super importante ya que podemos utilizar SET DATEFORMAT al principio de establecer la conexión con SQL Server y todas las fechas que las enviemos las interpretara como nosotros deseemos y nos evitaremos el uso de convert u otras funciones al momento de hacer consultas o inserts genial verdad.
Pero veamos un detalle mas que nos puede ayudar en el tratamiento de las fechas, a cada usuario de SQL Server es posible asignarle un lenguaje por defecto, este lenguaje trae consigo el formato de la fecha que se manejara, me explico si al usuario XX se asigna como lenguaje por defecto BRITISH Y ejecuta la siguiente instrucción
SELECT CONVERT(datetime, '12/02/2001')
Obtendra 2001-02-12 00:00:00.000 12 de Febrero del 2001
Pero si se cambia el lenguaje a English obtendra como resultado
2001-12-02 00:00:00.000 2 de Diciembre del 2001-10-21
Asi que es tambien posible controlar el comportamiento de las fechas a traves del lenguaje.
Espero que esto realmente les ayude y les aclare sus dudas y POR FAVOR CUALQUIER COMENTARIO ES SUPER BIENVENIDO
Como de costumbre
Saludos desde mi BOLIVIA querida
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder