dedlfix: SQL Datumsformatierung ohne Typwandlung

Beitrag lesen

Tach!

in einer SQL Server Tabelle steht ein Datum wie folgt drin:

2018-04-06 00:00:00.000

Nee, so steht das da nicht drin. Es sei denn, du hast es als String drinstehen. Ansonsten steht es in einem internen Format drin und es wird dir nur zur Ausgabe in dieser Form formatiert angezeigt.

Gleiches gilt auch für die Eingabe. Da übergibst du ein Literal, also eine formatierte Darstellung, und das wird vom Parser interpretiert und in die interne Darstellung konvertiert.

Ich hätte gerne eine deutsch Datumsansicht aber der Rückgabewert sollte DATETIME bleiben.

Ein DATETIME hat keine Formatierung. Es ist einfach nur ein Wert. Die Formatierung kommt beim Ausgeben hinzu, und dann ist es ein String geworden und kein DATETIME mehr.

Gibt es hier eine Möglichkeit?

Nicht so wie du dir das vorstellst. Wenn du beides brauchst, musst du beides getrennt übermitteln. Oder du nimmst nur den Rohwert im passenden Datentyp und nimmst die Formatierung zum Ausgabezeitpunkt (oder wann auch immer du sie brauchst) selbst vor.

dedlfix.