- 是否布爾值false == 0和真正的== 1
- 是否空在VARCHAR,INT,日期字段== 0值?
- 默認情況下在mysql中的值是== 0還是NULL或者是空字符串?
回答
問題:是否布爾值false == 0和真正的== 1
是 - 你可以測試使用:
SELECT IF(0, 'true', 'false')
...它會返回「假「,意思是零表示錯誤,一個表示正確。這個例子取自MySQL documentation page。
問題:在varchar,int,日期字段== 0中的空值嗎?
不,NULL表示缺少任何值的。
如果要比較值爲NULL,則需要使用特殊的運算符。
問題:默認情況下,mysql的值== 0或NULL或空字符串?
沒有默認約束,如果沒有提供任何值,允許NULL的列將包含NULL - 無論數據類型(DATETIME,數字,文本等)如何。不允許NULL的列將返回錯誤,直到提供與該列的數據類型相匹配的值。默認約束允許您指定默認值,如果有人試圖向列中插入NULL值,或者該列已從INSERT語句中省略。
MySQL內部沒有bool值。顯示返回布爾值表達式實際上返回一個整數0或1:
SELECT (3 < 5)
1
SELECT (3 > 5)
0
SELECT (3 < 4) + (4 < 5)
2
SELECT TRUE
1
TRUE和FALSE是1只是別名和0
NULL不等於任何值,即使不是另一個NULL。
SELECT NULL = ''
NULL
SELECT NULL = NULL
NULL
如果你想與NULL比較使用IS NULL
。
更新:對MySQL是否支持布爾值有一些困惑。該實施例表明,即使在一個列中的BOOL類型仍然只是一個整數:
CREATE TABLE table1 (id INT, x BOOL); INSERT INTO table1 VALUES (1, TRUE), (2, FALSE), (3, 3); -- Can you insert 3 into a BOOL type? Yep! SELECT * FROM TABLE1;
結果:
id x
1 1
2 0
3 3
-1:實際上,MySQL中有bool/boolean(雖然它們都是TINYINT的同義詞):http://dev.mysql.com/doc/refman/5.0/en/numeric-type-overview。 html – 2010-07-04 00:02:18
@OMG Ponies:在您發佈的頁面上:「但是,值TRUE和FALSE分別僅爲1和0的別名。」 – 2010-07-04 00:19:57
在SQL NULL代表不存在的值。在MySQL中,明確的NULL也可以表示僞序列的下一個值,而隱式NULL可以表示由MySQL確定的隱式默認值(零或空字符串)。
- 1. 骨幹模型默認值:null?空字符串?空陣列?
- 2. 當空字符串返回默認值
- 3. MySQL默認值問題
- 4. NULL默認值不一致,&更新將NULL更改爲空字符串Laravel4
- 5. 如果傳遞空字符串,則設置默認值MySQL
- 6. Mysql整數默認值0
- 7. DATETIME默認值0 MYSQL 5.5.25
- 8. Hibernate可以將空字符串默認爲空字符串
- 9. 如何判斷一個MySQL字段是否有一個空字符串的默認值或沒有默認值?
- 10. 注入空或空字符串作爲屬性的默認值
- 11. 空字符串+ null =「null」?
- 12. 沒有默認值Vs NULL Vs 0在MySQL中作爲文本和整數字段的默認值
- 13. MYSQL - 空字符串== 0問題(更新主鍵0而不是插入行)
- 14. 如何找到默認的NULL和NULL字符串值的區別
- 15. 空默認字符串物業
- 16. 默認爲空字符串列
- 17. php null對象vs默認空值
- 18. EF遷移 - 字符串的默認值
- 19. Android:SharedPreferences默認值的一個字符串
- 20. ToolStripComboBox +對象的默認字符串值
- 21. 空字符串代替Null值雄辯
- 22. NOT NULL默認1插入0和1
- 23. 如果默認值爲空並轉換爲字符串
- 24. sqlalchemy的問題,反映表和字符串字段的默認值
- 25. NULL設置默認值或可空性?
- 26. MySQL格式化字符串或返回空字符串NULL
- 27. mysql - 字符串在升級後不會假設爲空默認
- 28. 改變列的表,並默認值爲空字符串
- 29. 如何將默認值設置爲TEXT列的空字符串?
- 30. 如何將DateTime的默認值設置爲空字符串?
任何非零值都被認爲是真實的,而不僅僅是1。 – 2010-07-04 00:26:13