sql中null與空的區(qū)別 數(shù)據(jù)庫涉及到金額的字段到底要不要給默認值能不能默認null?
數(shù)據(jù)庫涉及到金額的字段到底要不要給默認值能不能默認null?這個問題不應該是技術(shù)和產(chǎn)品之間的競爭。相反,我認為應該從兩個方面來考慮:一是從技術(shù)的角度考慮理性,二是滿足需求。首先,無論用戶是否填寫運費字
數(shù)據(jù)庫涉及到金額的字段到底要不要給默認值能不能默認null?
這個問題不應該是技術(shù)和產(chǎn)品之間的競爭。相反,我認為應該從兩個方面來考慮:一是從技術(shù)的角度考慮理性,二是滿足需求。
首先,無論用戶是否填寫運費字段,在計算價格時一定要加上總價。所以從技術(shù)上講,null和0之間似乎沒有太大的區(qū)別。但是,從數(shù)據(jù)庫的角度來看,一般不建議使用null作為字段的默認值,特殊情況除外。因為使用null作為字段值可能會帶來一些問題。例如,對包含空值的列執(zhí)行計數(shù)統(tǒng)計不會得到空值。例如,在執(zhí)行否定查詢時,不能獲取空值。還有很多問題。所以當使用null作為數(shù)據(jù)庫值時,我們應該考慮它是否會影響實現(xiàn)。
其次,從需求的角度來看,如果需求確實需要區(qū)分用戶沒有填寫的情況和填寫為0的情況,前提是有合理的理由,比如需要避免出現(xiàn)問題時與用戶發(fā)生爭執(zhí)的風險,那么在這種情況下,前提應該是滿足需求。當然,滿足要求只意味著產(chǎn)品設計最終能夠?qū)崿F(xiàn),要實施的技術(shù)方案還需要技術(shù)人員考慮,因為在很多情況下,一個問題不僅僅是零或者0,還可能影響到其他地方。技術(shù)人員不得無故否定產(chǎn)品設計,產(chǎn)品人員不得過多參與技術(shù)方案。
最后,如果我想實現(xiàn)這個要求,我可以設置運費字段為0,但我需要添加一個標識位來判斷是否設置它。這樣,我就不需要在價格計算中處理空值,同時也可以滿足要求。如果以后需要做其他相關(guān)的統(tǒng)計,可以避免一些不必要的問題。
在數(shù)據(jù)庫中,去null值與0值的區(qū)別?
1. 空值表示值未知
2。空值不同于空值或零值。
3. 沒有兩個相等的空值。
4. 比較兩個空值或?qū)⒁粋€空值與任何其他值進行比較將返回未知,因為每個空值都是未知的。
5. 在寫入數(shù)據(jù)時,空字符串“”也是某個值,因此即使您定義了not null,也可以寫入它