日期:2014-05-18 浏览次数:20501 次
不懂,帮顶,学习,蹭分.
------解决方案--------------------
应该也是timestamp
------解决方案--------------------
看情况,貌似不用插入,只需作为增量标记
------解决方案--------------------
错了,用datetime 类型
用convert 或者cast 转换一下
------解决方案--------------------
--> 测试数据: #tb
if object_id('tempdb.dbo.#tb') is not null drop table #tb
go
create table #tb (id varchar(1),a timestamp)
insert into #tb (id)
select '1' union all
select 'a'
/*
select *,dt=cast(a as datetime) from #tb
id a dt
---- ------------------ ----------------------------
1 0x00000000000007F3 1900-01-01 00:00:06.783
a 0x00000000000007F4 1900-01-01 00:00:06.787
(2 行受影响)
*/
create table ##(id varchar(1),b datetime)
insert ## select top 1 * from #tb order by a desc
select * from ##
/*
id b
---- -----------------------
a 1900-01-01 00:00:06.787
(1 行受影响)
*/
------解决方案--------------------
由于时间戳Timestamp是二进制类型,所以你的记录表中可以定义为binary(8)或varbinary(8)类型。
在SSIS中,变量可以定义为Byte类型。参数传递的时候还有一个类型叫DBTimestamp。
------解决方案--------------------
学习学习!......
------解决方案--------------------
兄弟,你可以给它convert想什么类型,不都OK
------解决方案--------------------
在源系统中增加一个时间戳字段,只是为了方便提取,什么类型无所谓,如datetime或date类型都可以。
------解决方案--------------------