Jump to content

Fremdes Datumsformat einlesen


Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Empfohlene Beiträge

Und leider gleich noch ein Problem:

Ich habe eine lange Datei bekommen, die viele SQL-Statements als Text aneinandergereit enthält. Diese versuche ich nun einzulesen mittels

OSQL.EXE -U... -P... -d... -S... -i file.sql

 

Das funktioniert auch bis zu dieser Stelle:

INSERT INTO [dbo].[tTabelle] ([col1],[col2],[col3],[col4],[col5],[col6],[col7],[col8]) VALUES (1,304,0,'May 23 2010 12:00AM',0,NULL,NULL,NULL);

 

Fehlermeldung:

Meldung '241', Ebene '16', Status '1', Server '...', Zeile 1995

Fehler beim Konvertieren einer Zeichenfolge in einen datetime-Wert.

 

Tabellendefinition:

CREATE TABLE [dbo].[tTabelle] (

[col1] int not null,

[col2] int null,

[col3] tinyint null,

[col4] datetime null,

[col5] int null,

[col6] datetime null,

[col7] tinyint null,

[col8] tinyint null

);

 

Wie kann ich OSQL nun beibringen, 'May 23 2010 12:00AM' als Datetime zu parsen? Ich kann leider die file.sql nicht mehr anders nochmal erhalten und alle enthaltenen Datetimes umzuschreiben wäre auch ne ziemliche Arbeit...

 

Kann ich das Format evtl. irgendwo als gültiges DatetimeFormat hinterlegen?

Link zu diesem Kommentar

Danke, auch für den Link! Das ist echt komisch, weil das o.g. Datumsformat in Deinem Link als "Standard" bezeichnet wird - und trotzdem wird es nicht erkannt. Seltsam.

 

Aber nach Deiner Antwort hat es wohl auch keinen Zweck, mal zu versuchen, eine engl. Version von MSSQL-Server zu installieren oder das Betriebssystem auf engl. umzustellen, dann versuche ich mal, eine RegExp zu finden, die mir das Convert da mit reinfrimmelt...

Link zu diesem Kommentar

Moin,

 

die Installationssprache hat damit weniger zu tun. Um sicher zu gehen, dass SQL Server dein Datum richtig interpretiert, kannst du in dem Statement die Eingabesprache ausdrücklich auf US-Englisch setzen. Jedenfalls funktioniert folgendes Statement hier mit deinem Datumsformat:

 

set language us_english
select YEAR('May 23 2010 12:00AM')

 

Gruß, Nils

Link zu diesem Kommentar
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte erstelle einen neuen Beitrag zu Deiner Anfrage!

Schreibe einen Kommentar

Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor-Fenster leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...