2011-06-06 3 views
1

J'utilise une requête SQL pour extraire des enregistrements d'étudiants de la base de données SQL. J'obtiens l'erreur Arithmetic overflow error converting expression to data type datetime. On dirait qu'il y a une colonne pour le numéro d'étudiant qui est de type char (15) et qui lance cette erreur chaque fois que je mets une lettre devant le numéro d'étudiant (nous avons des étudiants avec ce cas).Erreur de dépassement arithmétique lors de la conversion de l'expression en type de données datetime

Cela fonctionne bien

Select * from StudentDataTable where StudentNumber = '123456789' 

Cette erreur jette l'

Select * from StudentDataTable where StudentNumber = 'A12345678' 

Toute aide serait appréciée.

+4

Il est Rien dans vos requêtes affichées qui serait même essayer de convertir en un datetime. S'il vous plaît montrer la vraie requête. Nous ne pouvons pas vous aider lorsque vous simplifiez trop le problème. – HLGEM

Répondre

0

SQL convertit le nombre d'étudiants en nombre entier en arrière-plan, ainsi vos premiers exemples fonctionnent, mais pas le second. Vérifiez ce numéro d'étudiant-type de données est, il doit être de type numérique, INT, BIGINT etc ..

En outre, vous devriez être listez sans les guillemets pour le numéro d'étudiant, sauve SQL convertissait

Select * from StudentDataTable where StudentNumber = 123456789 
Questions connexes