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

Geschrieben

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?

Geschrieben

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...

Geschrieben

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

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

Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde dich hier an.

Jetzt anmelden
×
×
  • Neu erstellen...