SQL报错102:INSERT语句VALUES段冒号附近语法错误如何修复
错误原因
你碰到的SQL Server错误102属于语法解析错误,触发原因是date、time类型的字面量没有用英文单引号包裹:
- 无引号的
2021-01-01会被SQL解析器识别为数字减法运算(2021减1减1),无法匹配date字段的输入要求 - 无引号的
04:30:00里的冒号不属于SQL合法的运算符,直接触发语法报错
修复方法
将所有VALUES里的日期值、时间值统一用英文单引号包裹即可,修正后的语句如下:
INSERT INTO [dbo].[ActualTripStopInfo] ([TripNumber], [Date], [ScheduledStartTime], [StopNumber], [ScheduledArrivalTime], [ActualStartTime], [ActualArrivalTime], [NumberOfPassengerIn], [NumberOfPassengerOut]) VALUES (1, '2021-01-01', '04:30:00', 3, '05:00', '04:30:00', '05:00:00', 10, 10), (2, '2021-01-01', '05:00:00', 8, '06:15', '05:00:00', '06:15:00', 15, 15), (3, '2021-01-03', '06:00:00', 1, '06:15', '06:00:00', '06:15:00', 25, 25), (4, '2021-01-02', '05:45:00', 5, '06:15', '05:45:00', '06:15:00', 20, 20), (5, '2021-01-03', '08:00:00', 2, '08:20', '08:00:00', '08:20:00', 32, 32), (6, '2021-01-04', '12:45:00', 10, '13:30', '12:45:00', '13:30:00', 11, 11), (7, '2021-01-03', '16:15:00', 2, '16:50', '16:15:00', '16:50:00', 5, 5), (8, '2021-01-05', '20:00:00', 1, '20:15', '20:00:00', '20:15:00', 10, 10), (9, '2021-01-05', '08:15:00', 3, '08:45', '08:15:00', '08:45:00', 28, 28), (10, '2021-01-04', '07:30:00', 4, '07:50', '07:30:00', '07:50:00', 35, 35);
内容的提问来源于stack exchange,提问作者Kendall Jones
相关产品推荐
相关产品推荐

