У меня есть этот запрос, который я использую для положить все строки в одном столбце, является динамическим, потому что мне нужно сделать, это, по крайней мере, 8 таблиц:Результат запроса (значение NULL/формат DateTime)
DECLARE @tblName VARCHAR(20) = 'Location'
DECLARE @columns NVARCHAR(MAX), @sql NVARCHAR(MAX)
SELECT @columns = COALESCE(@columns, '') + '+[' + COLUMN_NAME + '],+'''''','''''''
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @tblName and TABLE_SCHEMA='LES'
select @columns
SET @sql = 'SELECT CONCAT(''''''''' + STUFF(@columns, 103,9, '') + '+'''''') FROM ' + @tblName
select @sql
--------------------------------------------------------------------------
R1: SELECT CONCAT(''''+[Location],+''','''+[Location Type],+''','''+[Region],+''','''+[World Region],+''','''+[Refresh Date]+''') FROM Location
Если Я выполнить запрос (без столбца даты и времени (Refresh Date), который содержит NULL значения), результат будет
'0020319389','CMF','AJ','AJ'
'0031209263','CMF','AJ','AJ'
'01BM','DCL','EU','EU'
'01CR','DCL','EU','EU'
Моя проблема в том, что, когда я выполняю запрос с Refresh_date
колонку, я получаю эту ошибку:
Conversion failed when converting date and/or time from character string.
Может кто-нибудь мне помочь?
Благодаря
Спасибо billinkc, что исправлена часть моей проблемы, теперь другая проблема заключается в том, что, например, у меня есть значения NULL в столбце Refresh_date, и я хочу видеть NULL при выполнении запроса: SELECT CONCAT ('' '', [ Location], '' ',' '', [Location Type], '' ',' '', [Region], '' ',' '', [World Region], '' ',' '', [ Refresh Date], '' '') FROM [LES]. [Location] Если я выполню этот запрос, результат будет: '0020319389', 'CMF', 'AJ', 'AJ', '' - - Если вы видите, что в конце результата у меня есть '', и здесь я хочу увидеть «NULL» или лучшее для меня - это NULL без ' –