it-swarm.com.de

Ändern Sie das Standardformat für Datum und Uhrzeit für eine einzelne Datenbank in SQL Server

Ich muss das Datumsformat für eine einzelne Datenbank auf einem SQL Server-Computer von US (MM/TT/JJJJ) in UK (TT/MM/JJJJ) ändern.

Wie geht das?

Ich habe Anweisungen gesehen, die dies für das gesamte System und für die Sitzung tun, aber ich kann den Code jetzt nicht ändern, da er erneut die Qualitätssicherung durchlaufen muss. Daher benötige ich eine schnelle Lösung, um die zu ändern Datum-Uhrzeit-Format.

pdate

Mir ist klar, dass das Datum und die Uhrzeit nichts damit zu tun haben, wie SQL Server die Daten speichert, aber es hat viel damit zu tun, wie Abfragen analysiert werden.

Ich speichere Rohdaten aus einer XML-Datei in eine Datenbank. Die Daten in der XML-Datei sind im britischen Datumsformat.

20
Omar Kooheji

Sie könnten SET DATEFORMAT verwenden, wie in diesem Beispiel

declare @dates table (orig varchar(50) ,parsed datetime)

SET DATEFORMAT ydm;

insert into @dates
select '2008-09-01','2008-09-01'

SET DATEFORMAT ymd;
insert into @dates
select '2008-09-01','2008-09-01'

select * from @dates

Sie müssen das Datumsformat im Code angeben, wenn Sie Ihre XML-Daten analysieren

21
kristof

Um diese sehr langweiligen Probleme zu vermeiden, rate ich Ihnen, Ihre Daten immer mit dem standardmäßiges und eindeutiges SQL/ISO-Datumsformat zu analysieren, das JJJJ-MM-TT ist. Ihre Abfragen funktionieren dann international, unabhängig von den Datumsparametern auf Ihrem Hauptserver oder auf den abfragenden Clients (wobei sich die lokalen Datumseinstellungen möglicherweise von den Einstellungen des Hauptservers unterscheiden)!

11

Obwohl Sie das Standard-Datumsformat für eine einzelne Datenbank nicht festlegen können, können Sie die Standardsprache für eine Anmeldung ändern, die für den Zugriff auf diese Datenbank verwendet wird:

ALTER LOGIN your_login WITH DEFAULT_LANGUAGE=British

In einigen Fällen hilft es.

4
SergeyT

Sie können die Sprache nur auf dem gesamten Server ändern, nicht auf einzelnen Datenbanken. Wenn Sie jedoch Großbritannien unterstützen müssen, können Sie den folgenden Befehl vor allen Ein- und Ausgängen ausführen:

set language 'british english'

Wenn Sie Probleme bei der Eingabe von Daten aus Ihrer Anwendung haben, sollten Sie einen universellen Eingabetyp in Betracht ziehen, z

1. Dezember 2008

4
Nick Berardi

Wenn dies wirklich ein QA-Problem ist und Sie den Code nicht ändern können. Richten Sie eine neue Serverinstanz auf dem Computer ein und legen Sie die Sprache als "Britisches Englisch" fest

0
Nick Berardi