Comment faire pour modifier uniquement l'année d'un type de données de date

J'ai une liste d'anniversaires et de l'année est la seule partie qui est incorrect. J'ai une liste d'ID #s pour ces personnes. Est-il possible de changer uniquement l'année pour tous ces gens? Je pensais à quelque chose comme un tableau de résultats de la requête, puis à l'aide d'un UPDATE SET requête, mais je ne sais pas comment faire pour changer seulement l'année.

Comment faire pour modifier uniquement l'année d'un type de données de date

Échantillon inclus dans l'edit. Chaque année, doit être diminué par 2.

Sont-ils chacun par un certain nombre d'années? Si non, comment savez-vous ce que la nouvelle valeur est?
Pourquoi avez-vous l'état le format aaaa-mm-jj? Par hasard, est votre domaine stockées dans varchar?
Essayez cette requête: UPDATE MyTable SET DOB = DATEADD(YEAR, -2, DOB)
Watch out pour le 29 Février, qui n'est valable que dans les années bissextiles
Alors, quelle est la bonne réponse dans ce cas? Si vous avez Févr. 29 2012 et de prendre deux années, SQL Server vous dit que est Févr. 28 2010. Bien sûr, Févr. 29 n'était pas valable les jours de l'année, alors, comment pouvez-vous faire confiance à la source de données et de votre présumé des corrections à ces données?

OriginalL'auteur wootscootinboogie | 2012-04-30