[英]SQL int to string to datetime
我有整數日期。
將整數轉換為日期時間的最干凈方法是什么?
我用這種凌亂的方式:
CONVERT(DATETIME, cast(source.Day as varchar(2)) + '/' + cast(source.Month as varchar(2)) + '/' + cast(source.Year as varchar(2)), 3),
這是你可以做到的
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情況。
嘗試這個:
select CONVERT (datetime,convert(char(8),yourvalue))
在RT解決方案中工作可能會起作用
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位數字的年整數。
SQL小提琴在這里: http ://sqlfiddle.com/#!6/cbf62/2
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.