存储小的负值

jwh*_*ron 1 t-sql sql-server-2008

注意:我意识到这里的问题不会严重影响我的数据库中的性能或存储大小,但我很有兴趣听取专家的意见(如果有的话).

我正在编写一个需要对datetime值执行操作的应用程序,并将结果偏移量存储在数据库中.我希望偏移量保持不变(大约-3),但因为源日期(每个学期的开始日期)是由大学级委员会设定的,并且因为我的申请是处理以固定,可预测的间隔联系学生(也可以由委员会制定)它可能在-30到30之间.

我原本打算将生成的偏移量存储为a tinyint,但由于它在SQL Server 2008中未签名,我不确定这里最好的是什么.我应该使用a smallint还是类似的东西numeric(2,0)

Joe*_*Joe 5

只需使用smallint.不要过度思考它.

(在此处插入有关过早优化的标准文本.)