将表达式转换为数据类型datetime的算术溢出错误

时间:2011-06-06 14:30:51

标签: sql sql-server tsql

我正在使用SQL查询从SQL数据库中提取一些学生记录。我收到错误Arithmetic overflow error converting expression to data type datetime.看起来有一个学生编号的列是char(15)类型,并且每当我在学生编号前放一个字母时都会抛出此错误(我们有这个案例的学生)。

这很好用

Select * from StudentDataTable where StudentNumber = '123456789'

这会引发错误

Select * from StudentDataTable where StudentNumber = 'A12345678'

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

SQL正在将学生编号转换为后台的整数,因此您的第一个示例有效,但您的第二个示例不会。检查数据类型的学生编号是什么,它应该是数字类型,INT,BIGINT等。

此外,您应该在没有学号的引号的情况下查询,保存SQL转换

Select * from StudentDataTable where StudentNumber = 123456789