将表达式转换为数据类型 int 时出现算术溢出错误。解决

问题描述 投票:0回答:1
CREATE TABLE School
(
    Teacher_id INT IDENTITY (1, 101) PRIMARY KEY, 
    Teacher_Name VARCHAR(50),
    Gender CHAR,
    Contact INT,
    Address_Teacher VARCHAR(250),
    Subjects VARCHAR(50), 
    NO_Class INT, 
    Attended_school CHAR, 
    NO_class_Attend INT, 
    Teach_To VARCHAR(50), 
    Year_Teacher AS YEAR (GETDATE()), 
    Date_Column DATE DEFAULT GETDATE()
);

INSERT INTO School (Teacher_Name, Gender, Contact, Address_Teacher, Subjects, NO_Class, Attended_school, NO_class_Attend, Teach_To) 
VALUES 
('JAGADEESH', 'M', 985959870, 'Bhararikam', 'maths, science', 4, 'Y', 4, '1th Degree'),
('raju', 'M', 885957890, 'vizag', 'science', 4, 'Y', 4, '1th - 10th'),
('nirmela', 'F', 995951111, 'vishakapatnam', 'science, English', 5, 'Y', 5, '1th - 10th'),
('radikha', 'F', 3889555420, 'America', 'Physics', 4, 'Y', 2, 'Degree'),
('Sai Karthik', 'M', 889950000, 'vizag', 'science, computer', 5, 'Y', 5, '1th 10th'),
('Vasudha', 'F', 887950000, 'Sriharipuram', 'English', 8, 'Y', 7, '1th-10th'),
('Rakesh', 'M', 999950000, 'Gajuwaka', 'PET', 8, 'Y', 8, '1th 10th');

SELECT * FROM School;
sql ssms
1个回答
0
投票

联系方式列似乎显示了电话号码。在这种情况下,您永远不应该使用 INT 数据类型:

  • INT/BIGINT/FLOAT/DECIMAL...用于计算值...您想要 用电话号码做微积分
  • 如果您的电话号码以零开头,该字符将被删除 因为前导零对于数字来说没有任何意义
  • INT 仅限于 -2 147 483 648 .. 2 147 483 647 电话号码 “3889555420”不会在此区间内
© www.soinside.com 2019 - 2024. All rights reserved.