插入数据类型为DateTime时为空值时,为什么SQL SERVER会自动加上1900-01-01
系統默認的吧,
update ? tablename ? set ? 時間字段= ' '
SQL ? SERVER會自動加上 "1900-01-01 "
update ? tablename ? set ? 時間字段=null
就不會了
======================================
ull值不會,但是其他會。在系統中,時間不是一個字符串,而是一個帶小數的數字——整數部分代表從1900年1月1日以后的天數,小數部分為午夜之后的毫秒數(好像是)。
======================================
datetime/smalldatetime的存儲格式是固定的.
由日期+時間組成.
如果只存儲時間,它會自動加上1900-1-1
除非你改用字符型字段來存儲
========================================
datetime類型系統里面是共用8個字節來存儲的,存儲的數字類型。
其中前4個字節用來存儲日期1900-1-1之前/后的天數,
其中后4個字節用來存儲00:00后的毫秒數。
如果是 ' '的就是1900-1-1了。
==========================================
存入之前先檢查,如果是空的就設為NULL
或者取的時候先檢查,如果是1900-01-01,那么設為空,不過這樣的話打印的時候會有問題的,所以還是建議用前面一種辦法
總結
以上是生活随笔為你收集整理的插入数据类型为DateTime时为空值时,为什么SQL SERVER会自动加上1900-01-01的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 趣优借利息怎么算
- 下一篇: 有意栽花花不发无意插柳柳成荫的意思十五个