SQL INSERT INTO语法

时间:2016-03-23 13:29:03

标签: sql-server date insert int operand

很抱歉,如果这个级别有点低,但我是学生在SQL Server管理工作室上学习SQL并尝试将一些虚拟数据添加到数据库中我使用以下

INSERT INTO dbo.Bookings (bookingid ,bookingdate ,customerid ,airportid ,outboundflight ,dateout ,timeout ,location ,inboundflight ,datein ,timein)

VALUES (1, 20160225, 2, 'STN', 'JJ2305', 20160316, 0950 , null, 'JJ2306', 20160416, 1800 )

但我收到此错误消息:

消息: Operand type clash: int is incompatible with date

所以我检查了数据库,这是结构的打印输出

       (<bookingid, nchar(10),>
       ,<bookingdate, date,>
       ,<customerid, int,>
       ,<airportid, nvarchar(5),>
       ,<outboundflight, nchar(10),>
       ,<dateout, date,>
       ,<timeout, time(7),>
       ,<location, nchar(10),>
       ,<inboundflight, nchar(10),>
       ,<datein, date,>
       ,<timein, time(7)>

正如你可以看到我试图添加日期的日期列的非int,实际上只有一个int,它应该包含'2'

任何人都可以让我摆脱困境,因为我试图理解/解决这两天(关闭和开启)没有和任务到期日期即将来临!

谢谢

2 个答案:

答案 0 :(得分:3)

缺少报价。

尝试

VALUES(1,&#39; 20160225&#39;,2,&#39; STN&#39;,&#39; JJ2305&#39;,&#39; 20160316&#39;,0950,null,& #39; JJ2306&#39;,&#39; 20160416&#39;,1800)

答案 1 :(得分:0)

您必须在以下数据类型''中提供引号date

INSERT INTO dbo.Bookings (bookingid ,bookingdate ,customerid ,airportid ,outboundflight ,dateout ,timeout ,location ,inboundflight ,datein ,timein)

VALUES (1, 20160225, 2, 'STN', 'JJ2305', 20160316, 0950 , null, 'JJ2306', '20160416', 1800 )