我对SQL Server世界很陌生,并尝试连接。
在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
代码是什么?
答案 0 :(得分: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 :(得分:1)
CONCAT
函数需要并返回字符串,这就是日期格式化的原因。
使用FORMAT
或CONVERT
函数在连接之前强制使用您选择的格式。
CONCAT(B1, '-', FORMAT(A1, 'yyyy/MM/dd'))
CONCAT(B1, '-', CONVERT(VARCHAR(10), A1, 111))