为什么这个 INSERT 查询会插入时间值而不是日期?
Why would this INSERT query insert a time value, rather than a date?
我在 MS-Access
数据库中有一个字段,如下所示。
当我 运行 在数据库上查询时(从 VB6 应用程序或直接作为查询)
INSERT INTO [stockQuantities] ([stockCode], [description], [productGroup], [qtyFrom], " & _
"[price], [dateQuoted]) VALUES (" SOS ", "SOS SAND FOR COSTING ONLY", "COS", 10, " & _
"6.34, 01/12/2018);
dateQuoted
的最终值改为插入 00:00:04。当我将格式更改为 Short Date
时,它插入为 30/12/1899.
为什么我的日期没有以正确的格式插入?问题出在查询还是字段上?
Access 中的日期 SQL 需要用 octothorpes 分隔,并且采用 mm/dd/yyyy 或 yyyy-mm-dd 格式。
您的查询应如下所示(假设您要插入 12 月 1 日):
INSERT INTO [stockQuantities] ([stockCode], [description], [productGroup], [qtyFrom], " & _
"[price], [dateQuoted]) VALUES (" SOS ", "SOS SAND FOR COSTING ONLY", "COS", 10, " & _
"6.34, #12/01/2018#);
但是,您也可以插入一个数值,该数值是从 1899-12-30 偏移的天数。您的插入查询刚刚插入了 1 除以 12 除以 2018,其值为 4.388E-05 ,对应于 Access 参考日期后的 4 秒。
如果日期时间列的日期等于参考日期,Access 仅显示时间部分。
我在 MS-Access
数据库中有一个字段,如下所示。
当我 运行 在数据库上查询时(从 VB6 应用程序或直接作为查询)
INSERT INTO [stockQuantities] ([stockCode], [description], [productGroup], [qtyFrom], " & _
"[price], [dateQuoted]) VALUES (" SOS ", "SOS SAND FOR COSTING ONLY", "COS", 10, " & _
"6.34, 01/12/2018);
dateQuoted
的最终值改为插入 00:00:04。当我将格式更改为 Short Date
时,它插入为 30/12/1899.
为什么我的日期没有以正确的格式插入?问题出在查询还是字段上?
Access 中的日期 SQL 需要用 octothorpes 分隔,并且采用 mm/dd/yyyy 或 yyyy-mm-dd 格式。
您的查询应如下所示(假设您要插入 12 月 1 日):
INSERT INTO [stockQuantities] ([stockCode], [description], [productGroup], [qtyFrom], " & _
"[price], [dateQuoted]) VALUES (" SOS ", "SOS SAND FOR COSTING ONLY", "COS", 10, " & _
"6.34, #12/01/2018#);
但是,您也可以插入一个数值,该数值是从 1899-12-30 偏移的天数。您的插入查询刚刚插入了 1 除以 12 除以 2018,其值为 4.388E-05 ,对应于 Access 参考日期后的 4 秒。
如果日期时间列的日期等于参考日期,Access 仅显示时间部分。