我有整数的日期。
将整数转换为datetime的最简洁方法是什么?
我用这种凌乱的方式:
CONVERT(DATETIME, cast(source.Day as varchar(2)) + '/' + cast(source.Month as varchar(2)) + '/' + cast(source.Year as varchar(2)), 3),
答案 0 :(得分:2)
答案 1 :(得分:2)
以下是如何做到这一点
Declare @date date,
@year INT = 2014,
@Month INT = 10,
@DateDay INT = 12,
@parseDate char(20)
select @date = CONVERT(date,
CAST( Cast(@Year as char(4))
+ Cast(@Month as char(2)) +
cast(@DateDay as char(2)) AS CHAR(12)), 112)
select @date
注意:我没有处理 NULL 个案。
答案 2 :(得分:1)
试试这个:
select CONVERT (datetime,convert(char(8),yourvalue))
答案 3 :(得分:1)
使用R.T.s解决方案,这可能有效
CREATE TABLE DATA(yr int, mth int, dy int);
INSERT INTO DATA
VALUES (2014,10,15);
SELECT
CONVERT (DATETIME,
CONVERT(char(4), yr) +
CONVERT(char(2), mth) +
CONVERT(char(2), dy)
) as Result
FROM DATA
这仍然有点凌乱,并假设一个4位数的年整数。