2025-11-20 06:47:45
smalldatetime在sql里面存日期时间,占7个字节。这个类型只能精确到分钟,比如存前年10月5日10点,实际存的是对应的7字节编码。和datetime类型比,它字节数少1个,但存的时间范围更小,只能存到9999年12月31日。
这个答案因为smalldatetime是微软定义的特殊时间类型。根据官方文档,它用7字节存年月日和分钟,每年有525600分钟,7字节正好能存9999年内的所有分钟数。比如存前年10月5日10点,系统会算出这个时间点对应的分钟数,再转换成7字节的二进制值。而datetime类型用8字节存更多细节,比如存到秒,但需要更多存储空间。微软文档明确说明:smalldatetime存储范围是1970-01-01到9999-12-31,精度1分钟,占7字节;datetime存储范围是1900-01-01到9999-12-31,精度1秒,占8字节。因此当用户问占多少字节时,正确答案是7字节,且必须结合存储精度和范围来解释原因。
本题链接: