- 是否布爾值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. 當空字符串返回默認值
- 2. MySQL默認值問題
- 3. Hibernate可以將空字符串默認爲空字符串
- 4. 沒有默認值Vs NULL Vs 0在MySQL中作爲文本和整數字段的默認值
- 5. MYSQL - 空字符串== 0問題(更新主鍵0而不是插入行)
- 6. 空默認字符串物業
- 7. 默認爲空字符串列
- 8. php null對象vs默認空值
- 9. Android:SharedPreferences默認值的一個字符串
- 10. ToolStripComboBox +對象的默認字符串值
- 11. MySQL格式化字符串或返回空字符串NULL
- 12. sqlalchemy的問題,反映表和字符串字段的默認值
- 13. NULL設置默認值或可空性?
- 14. mysql - 字符串在升級後不會假設爲空默認
- 15. WPF綁定 - 空字符串的默認值
- 16. 改變列的表,並默認值爲空字符串
- 17. 如何將DateTime的默認值設置爲空字符串?
- 18. 字符串賦值,空格返回null
- 19. 與「默認/主」值(即,「字符串」)
- 20. 值「零」默認情況下,字符串
- 21. 字符串MYSQL CASE問題
- 22. ASP.NET GridView控件參數默認值空字符串
- 23. 亞,非默認的連接字符串問題
- 24. MySQL默認字符集
- 25. 如何檢查「id」是空還是空然後默認值是0或空字符串?
- 26. NULL或設置默認值
- 27. c#空字符串 - > null?
- 28. 空字符串對NULL
- 29. MySQL的 - 選擇默認值,如果空
- 30. 默認字符串參數
任何非零值都被認爲是真實的,而不僅僅是1。 – 2010-07-04 00:26:13