结合日期和字符串

时间:2018-12-30 17:57:13

标签: sql sql-server sql-server-2012

我的表格包含不同产品的每日数量。在我的查询中,我尝试将日期(12/28/18)转换为等效的Excel值(43,462),然后将其与产品名称(ABC)组合。

我尝试了不同版本的串联和CAST,但似乎缺少了一些东西。

预期输出为43642-ABC

1 个答案:

答案 0 :(得分:4)

您可以使用:

CREATE TABLE t(d DATETIME, c VARCHAR(10));
INSERT INTO t(d,c) VALUES('12/28/18', 'ABC');

SELECT *, CONCAT(DATEDIFF(day, '19000101', d)+2,'-',c) AS result
FROM t

db<>fiddle demo

输出:

+----------------------+------+-----------+
|          d           |  c   |  result   |
+----------------------+------+-----------+
| 28/12/2018 00:00:00  | ABC  | 43462-ABC |
+----------------------+------+-----------+

说明为什么在DATEDIFF的结果中添加了两个:Difference between datetime converts in MSExcel and SQL Server