SQL 服务器:将 StartDATE 20140804 Nvarchar 转换为 Datetime2
SQL Server: convert StartDATE 20140804 Nvarchar to Datetime2
我正在使用 SQL Server 2008,并且我从一个平面文件导入。我无法正确导入 datetime
列,所以我暂时将其指定为 nvarchar(50)
。
现在我想把它转换成datetime2
格式。但是,这样做时,出现错误
Conversion failed when converting date and/or time from character string.
我的 nvarchar(50)
列中当前的数据如下所示:
20140804
我需要将其转换为:
2014-08-04 00:00:00.0000000.
请注意,我不仅要转换一个日期,还要转换 table 中的所有 StartDATE
值并将它们插入另一个 table
感谢任何帮助。
Insert into targettab(datecol,<othercols....>)
select cast(datefield as datetime2),<othercols...> from sourcetab
您可以使用cast
函数
SELECT convert(varchar, StartDATE , 113) from ur table
您需要先转换为 char,因为转换为 int 会将这些日期添加到 1900-01-01
select CONVERT (datetime,convert(char(8),rnwl_efctv_dt ))
这里有一些例子
select CONVERT (datetime,5)
1900-01-06 00:00:00.000
select CONVERT (datetime,20100101)
爆炸,因为您无法将 20100101 天添加到 1900-01-01..您超出了限制
先转换为字符
declare @i int
select @i = 20100101
select CONVERT (datetime,convert(char(8),@i))
我正在使用 SQL Server 2008,并且我从一个平面文件导入。我无法正确导入 datetime
列,所以我暂时将其指定为 nvarchar(50)
。
现在我想把它转换成datetime2
格式。但是,这样做时,出现错误
Conversion failed when converting date and/or time from character string.
我的 nvarchar(50)
列中当前的数据如下所示:
20140804
我需要将其转换为:
2014-08-04 00:00:00.0000000.
请注意,我不仅要转换一个日期,还要转换 table 中的所有 StartDATE
值并将它们插入另一个 table
感谢任何帮助。
Insert into targettab(datecol,<othercols....>)
select cast(datefield as datetime2),<othercols...> from sourcetab
您可以使用cast
函数
SELECT convert(varchar, StartDATE , 113) from ur table
您需要先转换为 char,因为转换为 int 会将这些日期添加到 1900-01-01
select CONVERT (datetime,convert(char(8),rnwl_efctv_dt ))
这里有一些例子
select CONVERT (datetime,5)
1900-01-06 00:00:00.000
select CONVERT (datetime,20100101)
爆炸,因为您无法将 20100101 天添加到 1900-01-01..您超出了限制
先转换为字符
declare @i int
select @i = 20100101
select CONVERT (datetime,convert(char(8),@i))