Ich brauche Namen, die age >=70
aus einer Tabelle PERSON und Spalte BIRTHDATE sind (varchar (8)).Erhalten Alter zwischen dem aktuellen Jahr und dem Geburtsdatum, gibt ** "Konvertierung fehlgeschlagen beim Konvertieren von Datum und/oder Uhrzeit aus Zeichenkette." **
Ich versuche nur diese Abfrage, bevor ich anfange zu zeigen Alter> = 70.
select DATEDIFF (year , person.BirthDate, GETDATE()) as Age, * from person
Diese Abfrage gibt
"Fehler bei der Konvertierung, wenn Datum Umwandlung und/oder Zeit aus Zeichenkette."
Wie soll ich das machen? Ich kann wirklich nicht nachdenken. Danke
Was das Format des Datums ist in 'person.BirthDate'? – cdm
Sie können DATEDIFF nicht mit der varchar-Spalte verwenden. Sie müssen varchar in datetime/date umwandeln. – Manoj
Können Sie ein Beispiel dafür angeben, wie die Zeile oder das Tabellenschema aussieht? –