在进行类型转换时是否可以将记录从一个表插入另一个表?

时间:2014-09-16 23:35:10

标签: sql-server sql-server-2012

我们说我们有一张桌子

表A

id  int  PK
firstname  varchar(50)
lastname   varchar(50)
dateOfBirth  varchar(10)

并且需要使用表B中的一个SQL语句将它们全部插入,但是,表B是

id  int  PK
firstname  varchar(50)
lastname   varchar(50)
dateOfBirth  date

问题:

如何在将dateOfBirth从varchar转到日期时如何使用以下语句?

感谢。

2 个答案:

答案 0 :(得分:0)

是的,这是可能的。在插入之前,只需将dateOFbirth转换为日期即可。请务必使用正确的格式,否则可能会出现溢出错误。供参考:http://msdn.microsoft.com/en-us/library/ms187928.aspx

CONVERT(DATE, dateOfBirth, 101)

答案 1 :(得分:0)

是的,您可以同时进行转换和插入:

以下是一个例子:

create table TableA
(
id  int not null Primary Key,
firstname  varchar(50) not null,
lastname   varchar(50) not null,
dateOfBirth  varchar(10) not null,
)

create table TableB
(
id  int not null Primary Key,
firstname  varchar(50) not null,
lastname   varchar(50) not null,
dateOfBirth  date not null,
)

insert into TableB values (1, 'firstName', 'lastname', '10/10/2014')

insert into tablea select id, firstname, lastname, CONVERT(varchar(10), dateofbirth, 101) from tableb