在 SQL Server Compact 的 INSERT 语句中使用操纵日期
Use a manipulated date in an INSERT statement, in SQL Server Compact
我正在使用 SQL 服务器紧凑型。
要获取没有时间的日期,I do this:
CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME);
要插入一个新记录,其中的日期与另一个 table 相差最小,我这样做:
INSERT INTO [Product] ([OrderDate], [Name])
SELECT TOP(1) [OrderDate], 'Widget' FROM [OtherProduct];
如何将这两个想法结合起来?我想要这样的东西,但它不起作用:
INSERT INTO [Product] ([OrderDate], [Name])
SELECT CAST(FLOOR(CAST(TOP(1) [OrderDate] AS FLOAT)) AS DATETIME), 'Widget' FROM [OtherProduct];
错误:
There was an error parsing the query. [ Token in error = TOP ]
我们必须在正确的位置指定 TOP(1)
INSERT INTO [Product] ([OrderDate], [Name])
SELECT TOP(1) CAST(FLOOR(CAST([OrderDate] AS FLOAT)) AS DATETIME), 'Widget' FROM [OtherProduct];
我正在使用 SQL 服务器紧凑型。
要获取没有时间的日期,I do this:
CAST(FLOOR(CAST(GETDATE() AS FLOAT)) AS DATETIME);
要插入一个新记录,其中的日期与另一个 table 相差最小,我这样做:
INSERT INTO [Product] ([OrderDate], [Name])
SELECT TOP(1) [OrderDate], 'Widget' FROM [OtherProduct];
如何将这两个想法结合起来?我想要这样的东西,但它不起作用:
INSERT INTO [Product] ([OrderDate], [Name])
SELECT CAST(FLOOR(CAST(TOP(1) [OrderDate] AS FLOAT)) AS DATETIME), 'Widget' FROM [OtherProduct];
错误:
There was an error parsing the query. [ Token in error = TOP ]
我们必须在正确的位置指定 TOP(1)
INSERT INTO [Product] ([OrderDate], [Name])
SELECT TOP(1) CAST(FLOOR(CAST([OrderDate] AS FLOAT)) AS DATETIME), 'Widget' FROM [OtherProduct];