我无法在SQL Server中为TIME(7)
列插入值:
INSERT INTO [dbo].[Vuelos] ([fechaSalida], [horasalida], [fechaLlegada], [horaLlegada],
[id_avion], [idAereopuertoOrigen],[idAereopuertoDestino], [estado])
VALUES (12-03-2019, 12:03:20, 14-4-2019, 03:12:33,
3, 2, 3, 'Disponible')
我遇到错误
“:”附近的语法不正确。
在第一个日期行
表结构为:
(<fechaSalida, date,>
,<horasalida, time(7),>
,<fechaLlegada, date,>
,<horaLlegada, time(7),>
,<id_avion, int,>
,<idAereopuertoOrigen, int,>
,<idAereopuertoDestino, int,>
,<estado, varchar(50),>)
答案 0 :(得分:0)
您需要将日期和时间值放在引号中以使其成为字符串。
VALUES
('12-03-2019'
,'12:03:20'
,'14-4-2019'
,'03:12:33'
不带引号的情况下,将它们视为纯数字表达式。 12-03-2019被解释为12减去3减去2019。然后解析器在12:03:20到达冒号时会感到困惑。
答案 1 :(得分:0)
尝试插入带引号的值。另外,如果您尝试以dd / mm / yyyy格式插入日期,则需要向SQL Server引擎提供提示。
DATEFORMAT允许我们以所需格式插入日期。 不同的日期格式选项是:
DMY-dd / MM / yyyy。例如12/04/2018。
YDM-yyyy / dd / MM。例如2018/12/04。
MDY-MM / dd / yyyy。例如2018年4月14日。
YMD – yyyy / MM / dd。例如2018/04/14。
SET DATEFORMAT DMY INSERT INTO [dbo].[Vuelos]
([fechaSalida]
,[horasalida]
,[fechaLlegada]
,[horaLlegada]
,[id_avion]
,[idAereopuertoOrigen]
,[idAereopuertoDestino]
,[estado]) VALUES
(
'12-03-2019'
,'12:03:20'
,'14-4-2019'
,'03:12:33'
,3
,2
,3
, 'Disponible')