SQL Server 日期字段作为查询标志字段的注意事项
今天在做一个数据抽取程序时遇到一个问题困扰好久才解决,这不是技术问题,而是常识和细心的问题。写出来让大家引起重视一下。
由于之前的程序长期用Oracle,并且数据标志字段采用的日期类型。在Oracle中日期格式基本是 “年月日时分秒”,因此我的程序里面也就采用了字符串格式日期格式"yyyy_MM-dd HH:mm:ss"
但是这次换用了sqlserver,程序也照常按照这种方式抽取数据,结果发现每次数据都在重提,折腾好久,最后才发现sqlserver的日期字段里面是含有毫秒值。所以造成我每次都会重提最后几条数据。
事后分析原因有两点。
1:由于长期使用oracle的日期格式,因此惯性思维。
2:其实多次查询sqlserver值,也看到了毫秒值,但是没有去多想,以为就是保存最大值,下次从最大值提取数据即可。太粗心所致。