2015-10-17 37 views
0

對於SQL Server世界,我非常新,並嘗試使用串聯。使用SQL Server 2014對兩列進行相關聚合

在A列中,我的數據以2015-03-28 00:00:00 000的格式寫入,B列的數據格式爲123456789

當我寫的代碼

SELECT CONCAT(B1,'-',A1) FROM Tbl 

我得到123456789-Mar 28 2015 12:00AM結果。

我會想得是123456789-2015/03/28-00:00:00

另外,如果我只想123456789-2015/03/28會的代碼是什麼呢?

回答

1

CONCAT函數需要和返回一個字符串這就是爲什麼日期被格式化,像這樣。

使用FORMATCONVERT函數在連接之前強制選擇的格式。

CONCAT(B1, '-', FORMAT(A1, 'yyyy/MM/dd')) 

CONCAT(B1, '-', CONVERT(VARCHAR(10), A1, 111)) 
3

使用FORMAT功能日期格式:

CREATE TABLE #Tbl(B1 NVARCHAR(100), A1 DATE); 

INSERT INTO #Tbl VALUES('123456789', '2015-03-28'); 

SELECT 
    result1 = CONCAT(B1,'-',FORMAT(A1, 'yyyy/MM/dd-HH:mm:ss')) 
    ,result2 = CONCAT(B1,'-',FORMAT(A1, 'yyyy/MM/dd')) 
FROM #Tbl 

LiveDemo

+1

感謝lad2025的解釋和幫助。這正是我所期待的。 – spittingfire

+0

@spittingfire不客氣:) – lad2025