Объединение даты со строкой - PullRequest
0 голосов
/ 30 декабря 2018

Моя таблица содержит суточные количества для разных продуктов.В моем запросе я пытаюсь преобразовать дату (12/28/18) в эквивалент значения Excel (43 462), а затем объединить его с именем продукта (ABC).

Я пробовал разные версии concatenate и CASTно, похоже, что-то не хватает.

Ожидаемый результат - 43642-ABC

1 Ответ

0 голосов
/ 30 декабря 2018

Вы можете использовать:

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: Разница между преобразованием даты и времени в MSExcel и SQL Server

...