2015-04-15 36 views
-1

我有一個數據類型爲Date的日期列和數據類型爲Time的時間列。將兩個不同列的日期和時間連接到一個新列

Column A Column B 
4/6/2015 13:25:18 
4/10/2015 12:52:14 
4/10/2015 10:39:48 

我需要加入這兩列並插入數據類型爲Datetime的列。

Column C 
2015-06-04 13:25:18 
2015-10-4 12:52:14 
2015-10-4 10:39:48 

我只有一列中的日期和時間只在另一列,我使用下面的現在它拋出一個錯誤

CONVERT(datetime, LEFT([ColumnA], 12) + LEFT([Column B], 7), 101) as ColumnC 
+1

請提供一些樣品數據和預期結果。 –

+0

http://stackoverflow.com/questions/700619/how-to-combine-date-from-one-field-with-time-from-another-field-ms-sql-server –

+0

Column A \t Column B 4/6/2015 \t 13:25:18 2015年4月10日12:52:14 2015年4月10日\t 10:39:48 需要插入另一列'2015-06-04 13:25 :18'...讓我知道你是否需要更多細節 –

回答

1
CREATE TABLE #test([Column A] DATE, [Column B] TIME, [Column C] DATETIME2) 

INSERT INTO #test([Column A], [Column B]) VALUES ('4/6/2015', '13:25:18') 
               ,('4/10/2015', '12:52:14') 
               ,('4/10/2015', '10:39:48') 

UPDATE #test 
SET [Column C] = CAST([Column A] AS VARCHAR(10)) + ' ' + CAST([Column B] AS VARCHAR(8)) 

SELECT * FROM #test 
0

這可能會有幫助。

如果你只是在做做選擇查詢,這將幫助:

SELECT FORMAT([Column A],'yyyy-MM-dd') + ' ' + FORMAT([Column B],'')AS [Column C] FROM TableName; 

2.但是,如果你想新列添加到現有並在此新列中添加現有日期和時間值中的每一行,這將有助於:

ALTER TABLE TableName 
ADD [Column C] smalldatetime; 
UPDATE TableName 
SET [Column C] = FORMAT([Column A],'yyyy-MM-dd') + ' ' + CAST([Column B] AS varchar); 
相關問題