Я понимаю, что есть другие темы, покрывающие это, но я не могу найти ту, которая решает мою проблему.
У меня есть три текстовых столбца, которые либо содержат дату, либо ничего (ноль), я конвертируютекст к дате, чтобы использовать фильтры даты после того, как дата попадает в Excel.
Очевидно, что нулевые значения преобразуются в '1900-01-01', но я не могу найти способ показатьони как пробелы, даже с подзапросом.
Это то, что я делаю ...
Select top 999999999
OtherFields,
case when Engdate = '19000101' then '' else Engdate end as 'EngDate',
OtherOtherFields
from
(
select
OtherFields,
case
when VAR_AppID = '3' then nullif( CONVERT(date,concat(right([2201],4),
SUBSTRING([2201],4,2), left([2201],2))),null)
else nullif( CONVERT(date,concat(right([3429],4),
SUBSTRING([3429],4,2), left([3429],2))),null) end as 'Engdate',
case when ([2201] is not null and Len([2201]) = 10 ) then
CONVERT(date,concat(right([2201],4), SUBSTRING([2201],4,2), left([2201],2)))
else null end as 'EngagementRec',
OtherOtherFields
from
Tables
)
Поля [2201] и [3429] являются текстовыми полями, которые содержатдаты в формате «дд / мм / гггг».
Должен ли я вернуться в текстовый формат, чтобы «» показывал пробел - и если да, будут ли даты по-прежнему распознаваться как даты