Ist es möglich, eine Funktion wie DATEADD() oder DATEEPART() für eine varchar-Spalte zu verwenden, die möglicherweise etwas enthält, das wie Datetime aussieht?Verwenden einer Datumsfunktion für eine Spalte mit unterschiedlichen Typen
Momentan versuche ich dies, indem ich eine WHERE-Klausel verwende, um nur Zeilen auszuwählen, die datetime-Werte in dieser Spalte haben und den üblichen arithmetischen Überlauffehler erhalten.
Ich könnte eine Operation ausführen, um nur die Datetime-Werte zu extrahieren und sie in eine temporäre Tabelle zu schreiben, aber ich bin neugierig.
Beispiel
SELECT DATEPART(wk, DateCreated) FROM tblOrders WHERE colType = 'datetime'
über den Tisch Design nicht
Sorge tun, ist es nicht
so schlecht, wie das.
Ein kleiner Stempel und eine eine richtige Antwort in nur drei Zeilen ... :-) –
ich nicht einmal daran gedacht, mit IsDate(). Trotzdem konnte ich DATEPART() für die Spalte in meiner WHERE-Klausel nicht verwenden. Hat die Temp-Table-Route sowieso beendet, weil, wie sich herausstellt, das Tabellendesign härter saugt, als ich ursprünglich erkannte. Redigierte auch meinen Beitrag nach einiger Frustration bei der Erstellung eines Berichts heute. – Ciaran