我的表格包含不同产品的每日数量。在我的查询中,我尝试将日期(12/28/18
)转换为等效的Excel值(43,462),然后将其与产品名称(ABC)组合。
我尝试了不同版本的串联和CAST,但似乎缺少了一些东西。
预期输出为43642-ABC
答案 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
输出:
+----------------------+------+-----------+
| d | c | result |
+----------------------+------+-----------+
| 28/12/2018 00:00:00 | ABC | 43462-ABC |
+----------------------+------+-----------+
说明为什么在DATEDIFF的结果中添加了两个:Difference between datetime converts in MSExcel and SQL Server