更改多记录SQL查询的日期格式

更改多记录SQL查询的日期格式,sql,sql-server,Sql,Sql Server,我有一个在MS Access中开发的旧系统,我需要将其转换为web应用程序 在旧的应用程序中,我们有一个MS Access数据库,需要将其导入SQL Server 现在有许多表的datetime列的数据类型如下: 访问:长文本 SQL Server:nvarchar(最大值) 我已成功地将MS Access数据库导入SQL Server,但现在我遇到了日期时间转换问题 有一个表大约有86000条记录,我们需要将其列转换为数据类型datetime 当前列的nvarchar(MAX)数据类型为 “d

我有一个在MS Access中开发的旧系统,我需要将其转换为web应用程序

在旧的应用程序中,我们有一个MS Access数据库,需要将其导入SQL Server

现在有许多表的datetime列的数据类型如下:

访问:长文本

SQL Server:nvarchar(最大值)

我已成功地将MS Access数据库导入SQL Server,但现在我遇到了日期时间转换问题

有一个表大约有86000条记录,我们需要将其列转换为数据类型datetime

当前列的nvarchar(MAX)数据类型为
“dd-mm-yyyy”这里是相同的屏幕截图:


我尝试通过谷歌来修复它,但没有任何效果。

将所有字符串值转换为适当的样式:105:dd-mm-yyyy

 ALTER TABLE dbo.TableName ALTER COLUMN DateNeed DATETIME NULL[NOT NULL]
    GO

 UPDATE TableName SET DateNeed =  CONVERT(DATETIME, DateNeed , 105)

在设计模式下通过右键单击表打开该表,并将数据类型更新为datetime。这应该能解决你的问题。这可能也是您问题的答案。首先是这样做的,但它导致了一个错误:“将nvarchar数据类型转换为datetime数据类型导致值超出范围。该语句已终止。”以下是执行第一个查询时的输出:因为字段包含空值:--UPDATE TableName SET DateNeed=CONVERT(DATETIME,DateNeed,105),其中DateNeed不是NULL相同的错误,但我认为数据有问题..查询似乎正确。