Überprüfen Sie, ob value ist date und konvertieren Sie es

9

Ich verwende SQL Server 2012

Ich erhalte Daten in einem bestimmten Format. Daten sind numerisch (8,0)
Zum Beispiel 20120101 = YYYYMMDD

Es gibt Zeilen mit Werten wie (0,1,2,3,6) in diesem Datumsfeld, also kein Datum.

Ich möchte prüfen, ob es ein Datum ist und es umwandeln, sonst kann es null sein.

Nun funktioniert der folgende Code, aber ich hatte gehofft, dass es einen besseren Weg gibt.

%Vor%

Jede Hilfe wird geschätzt.

    
Inus C 03.05.2013, 07:02
quelle

4 Antworten

19

Verwenden Sie die isdate-Funktion wie ..

%Vor%     
Deniyal Tandel 03.05.2013, 07:33
quelle
3

Sie können die ISDATE-Funktion verwenden, aber was würde für Nicht-Datumswerte tun? In meiner vorgeschlagenen Lösung können Sie wählen, eine Null zurückzugeben:

%Vor%     
von v. 03.05.2013 07:23
quelle
2

ISDATE

Gibt 1 zurück, wenn der Ausdruck ein gültiges Datums-, Uhrzeit- oder Datum / Uhrzeit-Wert ist; andernfalls 0. ISDATE gibt 0 zurück, wenn der Ausdruck ein Datetime2-Wert ist.

Bitte besuchen Sie

    
user2358092 08.05.2013 11:06
quelle
0

Sie können mit TRY CATCH

gehen %Vor%     
octoback 03.05.2013 07:34
quelle

Tags und Links