2010-05-06 6 views
0

comment prendre l'année par date stockée dans DataBase:comment prendre l'année par date stockée dans DataBase:

dans la requête Sql ?? ????

date par exemple en tant

2010-04-29 15: 53: 09,577

comment obtenir l'année dans la procédure stockée pour vérifier si l'année je passe et l'année stockés dans la base de données sont les mêmes

+0

Il serait utile de savoir quel système de gestion de base de données. – Unreason

Répondre

3

Cela dépend de la base de données. Essayez d'utiliser la fonction YEAR.

Par ex,

IF YEAR(MyDateColumn) = @year ... 
1

Pour vérifier une seule valeur, vous pouvez utiliser la fonction year pour extraire l'année d'une date.

Si vous comparez une année à une date dans tous les enregistrements d'une table, vous devriez plutôt convertir l'année à une période de dates:

select SomeFields 
from TheTable 
where TheDate >= '2010-01-01' and TheDate < '2011-01-01' 

Il est beaucoup plus rapide de comparer les valeurs de date, comme un index peut être utilisé. Si vous effectuez un appel de fonction year sur chaque valeur de la table, il ne peut pas utiliser l'index.