Possible Duplicate:
Create a date with T-SQL
I've a data table that stores each year, month and day value as ints:
year | month | day
2009 | 1 | 1
2008 | 12 | 2
2007 | 5 | 5
I need to convert it to datetime value, because I need to use it in a datetime between operation. How could I do this?
This question is related to
sql-server
datetime
You could convert your values into a 'Decimal' datetime and convert it then to a real datetime column:
select cast(rtrim(year *10000+ month *100+ day) as datetime) as Date from DateTable
See here as well for more info.
Pure datetime solution, does not depend on language or DATEFORMAT, no strings
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
Source: Stackoverflow.com