una operaciones obtener fechas fecha español datepart convert con sql-server datetime

sql-server - operaciones - obtener el dia de una fecha sql



SQL Server: convertir((int) año,(int) mes,(int) día) a Datetime (4)

Posible duplicado:
Crear una cita con T-SQL.

Tengo una tabla de datos que almacena cada año, mes y día como ints:

year | month | day 2009 | 1 | 1 2008 | 12 | 2 2007 | 5 | 5

Necesito convertirlo en un valor de fecha y hora, porque necesito usarlo en una fecha y hora entre operaciones. ¿Cómo podría hacer esto?


Para ser independiente de la configuración de idioma y configuración regional, debe usar el formato ISO 8601 YYYYMMDD ; esto funcionará en cualquier sistema SQL Server con cualquier configuración regional y de idioma vigente:

SELECT CAST( CAST(year AS VARCHAR(4)) + RIGHT(''0'' + CAST(month AS VARCHAR(2)), 2) + RIGHT(''0'' + CAST(day AS VARCHAR(2)), 2) AS DATETIME)


Puede convertir sus valores en una fecha y hora "decimal" y convertirlos luego en una columna de fecha y hora real:

select cast(rtrim(year *10000+ month *100+ day) as datetime) as Date from DateTable

Vea here también para más información.


Solución de fecha y hora pura, no depende del idioma o DATEFORMAT, sin cadenas

SELECT DATEADD(year, [year]-1900, DATEADD(month, [month]-1, DATEADD(day, [day]-1, 0))) FROM dbo.Table


SELECT CAST(CAST(year AS varchar) + ''/'' + CAST(month AS varchar) + ''/'' + CAST(day as varchar) AS datetime) AS MyDateTime FROM table