Note: I realize the question here won't grossly impact performance or storage size in my database, but I'm interested hearing expert opinions (if there are any).
I'm writing an application that needs to perform an operation on a datetime
value and store the resulting offset in a database. I expect the offsets to stay the same (around -3), but because the source date (the beginning date of each term) is set by a college-level committee, and because my application is dealing with contacting students at regular, predictable intervals (which would also be set by a committee) it's possible that it could be between -30 and 30.
I originally intended to store the resulting offset as a tinyint
, but since it's unsigned in SQL Server 2008, I'm not sure what would work best here. Should I use a smallint
, or something like a numeric(2,0)
?
numeric(2,0)
has a storage size of 5 bytes, vs. 2 bytes for smallint
, so just use smallint
.