Sql 将其他datetime列中的值插入datetime列
我面临着一个问题,即应该向表中插入行的查询 该表具有以下属性:Sql 将其他datetime列中的值插入datetime列,sql,sql-server,datetime,type-conversion,Sql,Sql Server,Datetime,Type Conversion,我面临着一个问题,即应该向表中插入行的查询 该表具有以下属性: CREATE TABLE [dbo].[New_Table]( [ID] [nvarchar](32) NOT NULL, [Position] [smallint] NOT NULL, [...] [OrderDate] [datetime] NULL, [...] CONSTRAINT [PK_New_Table] PRIMARY KEY CLUSTERED ( [ID] AS
CREATE TABLE [dbo].[New_Table](
[ID] [nvarchar](32) NOT NULL,
[Position] [smallint] NOT NULL,
[...]
[OrderDate] [datetime] NULL,
[...]
CONSTRAINT [PK_New_Table] PRIMARY KEY CLUSTERED
(
[ID] ASC,
[Position] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
OrderDate列是表中唯一的datetime列
从下表中检索OrderDate:
CREATE TABLE [dbo].[Old_Table](
[ID] [nvarchar](32) NOT NULL,
[Number] [nvarchar](15) NOT NULL,
[...]
[Date] [datetime] NULL,
[...]
CONSTRAINT [PK_Old_Table] PRIMARY KEY CLUSTERED
(
[ID_A_Kopf] ASC,
[Number] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
这个查询很简单:
INSERT INTO [dbo].[New_Table]
SELECT DISTINCT
DataTable.ID,
DataTable.Position,
DataTable.System,
b.Date
FROM
DataTable LEFT JOIN
( SELECT
OldTable.ID,
OldTable.Date
FROM
OldTable
WHERE
OldTable.Number = <Condition>) b ON DataTable.ID = b.ID
从字符串转换日期和/或时间时,转换为转换失败
我试着把它放在一个使用IsDate函数的情况下,但它也不起作用。允许空值,如新_表的表定义所示
所有这些都将在以下环境中运行:
Microsoft SQL Server Management Studio 11.0.2100.60
Microsoft Data Access Components (MDAC) 6.1.7601.17514
Microsoft MSXML 2.6 3.0 4.0 6.0
Microsoft Internet Explorer 9.10.9200.17054
Microsoft .NET Framework 4.0.30319.34209
Betriebssystem 6.1.7601
我很确定您将日期/时间列放在了目标表的错误位置。测试您的代码,选择不同的。。。在您插入之前:b列的格式。日期?我们没有听说要修复您的错误。尝试使用指定的列名插入。这实际上是问题的解决方案。
Microsoft SQL Server Management Studio 11.0.2100.60
Microsoft Data Access Components (MDAC) 6.1.7601.17514
Microsoft MSXML 2.6 3.0 4.0 6.0
Microsoft Internet Explorer 9.10.9200.17054
Microsoft .NET Framework 4.0.30319.34209
Betriebssystem 6.1.7601