使用SQL Server 2014连接两列

使用SQL Server 2014连接两列,sql,sql-server,sql-server-2014,Sql,Sql Server,Sql Server 2014,我对SQL Server世界非常陌生,正在尝试使用连接 在A列中,我的数据格式为2015-03-28 00:00:00 000,在B列中,我的数据格式为123456789 当我写代码的时候 SELECT CONCAT(B1,'-',A1) FROM Tbl 我得到了2015年3月28日凌晨12:00123456789的结果 我想要的是123456789-2015/03/28-00:00:00 此外,如果我只想要123456789-2015/03/28代码是什么?使用格式功能格式化日期: CRE

我对SQL Server世界非常陌生,正在尝试使用连接

在A列中,我的数据格式为
2015-03-28 00:00:00 000
,在B列中,我的数据格式为
123456789

当我写代码的时候

SELECT CONCAT(B1,'-',A1) FROM Tbl
我得到了2015年3月28日凌晨12:00<代码>123456789的结果

我想要的是
123456789-2015/03/28-00:00:00


此外,如果我只想要
123456789-2015/03/28
代码是什么?

使用
格式
功能格式化日期:

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

使用
格式化功能格式化日期:

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

函数
CONCAT
需要并返回字符串,这就是为什么日期的格式是这样的

使用
FORMAT
CONVERT
函数在连接之前强制选择格式

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

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

CONCAT
函数需要并返回字符串,这就是日期被格式化的原因

使用
FORMAT
CONVERT
函数在连接之前强制选择格式

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

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

谢谢你的解释和帮助。这正是我想要的。谢谢你的解释和帮助。这正是我想要的。