Ich verwende SQL Server 2014 RTM Developer Edition. Ich verwende meine Abfrage in SSMS und nicht in SSIS. Ich habe so viele NULL-Werte in der Tabelle, die ich in meiner UNPIVOT-Funktion verwende. Und nach Unpivot sehe ich diese Zeilen nicht zu Spalten wegen NULL.Wenn ich @NULL verwende, dann sehe ich alle Daten richtig.Unpivot null wird leere Zeichenfolge SQL Server 2014
So fand ich einige Hotfix von Microsoft für SSIS (nicht für SSMS-Problem). https://support.microsoft.com/en-us/kb/3058512 Anstatt diesen Hotfix anzuwenden, habe ich SQL 2014 SP2 installiert und Computer neu gestartet. Kein Unterschied.
Dann habe ich kumulatives Update 1 für SQL Server 2014 SP2 installiert und immer noch dasselbe. Warum passiert dies?
DECLARE @colsUnpivot NVARCHAR(MAX)
,@query VARCHAR(MAX)
,@Table_name NVarchar(500)
,@fiscal_year Varchar(4)
SET @Table_name = 'opd_scholar'
SET @fiscal_year = '2015'
set @colsUnPivot = STUFF((SELECT ',' + QUOTENAME(code_name) from opd_lkp_scholar t Where fiscal_year = 2015 AND code_name NOT IN ('UNITID','Institution','City','State','Zip') FOR XML PATH(''), TYPE ).value('.', 'NVARCHAR(MAX)') ,1,1,'')
PRINT @colsUnPivot
set @query
= ' INSERT INTO opd_scholar_transaction ( unitid,institution,city,state,zip,code_name,lkp_value)
SELECT unitid,institution,city,state,zip,code_name,lkp_value
FROM
(
SELECT unitid,institution,city,state,zip, '+ @colsUnpivot+'
FROM '[email protected]_name+') AS cp
UNPIVOT (lkp_value for code_name IN ('[email protected]+')
) AS up'
PRINT @Query
exec(@query)
In meiner opd_Scholar Tabelle habe ich 400 Spalten und ich brauche sie als Zeilen zu konvertieren. Und ich habe so viele NULL-Werte in der Tabelle opd_scholar. Aber wenn ich obigen Code verwende, um diese Zeilen in Spalten zu konvertieren, zeigt es nicht diese Werte, die NULL hat.
Danke furin aber das wird nu, lls zu leeren Saiten ersetzen ?? Ich bevorzuge NULL als NULL. – nick
Auch wenn ich für unseren Vorschlag gehe, ziehe ich Spaltennamen dynamisch an so wie überprüfe ich das für jeden einzelnen Spaltenwert ?? – nick
Okay, ich dachte mir das jetzt aber neu aus, – nick