我正在尝试使用 Excel 将一些旧的 SQL Server 数据传输到 SQL Server。似乎Import/Export Data
应用程序自动将大多数数据列设置为NVARCHAR(255)
. 我遇到的问题是,我的一个列应该是一种DATE
类型,但其中的所有数据看起来都像这样18.08.2000 14:48:15
。
因此,当我尝试使用此查询时:
SELECT CONVERT(Date, DATE_TIME, 113)
FROM someTable
我收到此错误:
Msg 9807, Level 16, State 0, Line 1
输入的字符串不遵循样式 113,要么更改输入字符串,要么使用不同的样式。
[styles]
在我的情况下,CAST 和 CONVERT (Transact-SQL)中的任何一个都不起作用。
非常感谢任何建议或帮助。
解决了:
UPDATE myTable
SET columnName = CONVERT(NVARCHAR(255),CONVERT(SMALLDATETIME, columnName,105))
ALTER TABLE myTable
ALTER COLUMN columnName SMALLDATETIME