Объединить значения двух столбцов - PullRequest
0 голосов
/ 31 марта 2011

Я пытаюсь объединить два date столбца, помещая - между значениями.

Таблица:

Column A                | Column B
------------------------|-------------------------
2010-07-01 00:00:00.000 | NULL
NULL                    | 2011-01-12 00:00:00.000
2006-04-01 00:00:00.000 | 2010-05-31 00:00:00.000
NULL                    | NULL

Запрос:

select L.ColumnA + ' - ' + L.Column B AS [Dates] 
from abc L

Показывает все поля NULL, если только в обоих столбцах нет таких данных, как

2006-04-01 00:00:00.000-2010 - 05-31 00:00:00.000

Тем не менее, окончательный вывод мне нужен:

[Dates]
--------------------
07/01/10 - 
04/01/06 - 05/31/10
 - 01/12/11
<blank (for nulls)>

1 Ответ

4 голосов
/ 31 марта 2011

Вам необходимо преобразовать значения NULL в пустые строки. Как минимум:

SELECT COALESCE(L.ColumnA, '') + '-' + COALESCE(L.ColumnB, '') AS [Dates] 
    FROM abc L

Затем, чтобы отформатировать даты как показано:

SELECT COALESCE(CONVERT(CHAR(8), L.ColumnA, 1), '') + '-' 
     + COALESCE(CONVERT(CHAR(8), L.ColumnB, 1), '') AS [Dates] 
    FROM abc L
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...