2015-10-17 36 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