Benutzer mit den meisten Antworten
Import von Textdatei

Frage
-
Hallo,
mit folgender Gespeicherten Prozedur importiere ich Daten aus einer Textdatei, was auch soweit klappt.
Nun wurde das Feld Status geändert, und statt Zahlen liefert das Text-Dokument den String "OK" oder "NOK". Wie kann ich unteren Code ändern á la: if status = N'OK' then status = 1?Gruß Andreas
... @data_file nvarchar(max), @format_file nvarchar(max) AS SET NOCOUNT ON; declare @sql nvarchar(max) declare @anzahl int set @sql = ' INSERT INTO [Injektormontage].[dbo].[tbl_importGehaeuse] (Gehaeusenr ,Zeit_Magnetkraft ,Rohmaterial ,Nummer ,Status ,Erfassungsdatum ,Erfassungszeit) SELECT CONVERT(decimal(18,0), [Gehaeusenr]) AS Gehaeusenr ,CONVERT(float, [Zeit_Magnetkraft]) AS Zeit_Magnetkraft ,Rohmaterial ,CONVERT(int, [Nummer]) As Nummer ,CONVERT(int, [Status]) As Status ,Erfassungsdatum ,Erfassungszeit FROM OPENROWSET(BULK N''' + @data_file + ''' ,FORMATFILE = N''' + @format_file + ''' ,CODEPAGE = ''OEM'' ) AS GehaeuseImport' EXEC sp_executesql @sql Select @anzahl = @@ROWCOUNT Return @anzahl
http://www.AccessBlog.de
Antworten
-
Hallo Andreas,
das wäre z. B.
CASE [Status] WHEN 'OK' THEN 1 WHEN 'NOK' THEN 0 ELSE 0 -- alle sonstigen END AS Status
siehe CASE Ausdruck,Am Rande: Anstatt des CONVERT für die übrigen Spalten kannst Du das durch das FORMATFILE festlegen,
siehe Arbeiten mit FormatdateienGruß Elmar
- Als Antwort markiert Andreas Vogt Montag, 29. August 2011 12:26
Alle Antworten
-
Hallo Andreas,
das wäre z. B.
CASE [Status] WHEN 'OK' THEN 1 WHEN 'NOK' THEN 0 ELSE 0 -- alle sonstigen END AS Status
siehe CASE Ausdruck,Am Rande: Anstatt des CONVERT für die übrigen Spalten kannst Du das durch das FORMATFILE festlegen,
siehe Arbeiten mit FormatdateienGruß Elmar
- Als Antwort markiert Andreas Vogt Montag, 29. August 2011 12:26