在mysql中如果存諸一種只有兩種答應的資料,設定它的資料型別時,我們首先會想到bit ,它所佔字元少,速度快,真的爽的不得了!當這資料插入這種資料型別中時,數值1會變所乙個圖示(像笑臉,用mysql客戶端檢視可觀察到),而0會變所空白(估計忽略了),mysql但仍然是認識它們,所以在mysql下用sql查詢沒有任何問題,當是php並不公認識它,如果在頁面中用取出的資料值與1 或0比較,結果會是false!
1在頁面中輸出顯示為 'r', 而0為空白!
用ord()來測試可以得到它們的不同,
bit 型別1 ord() 為: 1 //'r'的acsii碼
bit 型別0 ord() 為: 0
不知道各位還有什麼辦法沒,知道多一點更好!
另:為什麼mysql會將bit 型別儲存成這樣?mssql不會發生該類變化!
用bit處理比較麻煩,查詢的時候想當做整形處理可以這樣
select cast(`mybitfield` as signed) from test
這樣在php裡就可以與整形數比較了.
**:
MYSQL中bit型別的作用及使用
defaulttemplate bit 1 not null,boolean型別 預設值false和true不能用引號括起來,因為是保留值 defaulttemplate bit 1 not null default false,boolean型別預設為false defaulttemplate b...
sql中bit資料型別
在 sql server 中,用來處理判斷flag的字段,使用bit型別。在使用過程中有幾點需要注意的 bit 與 sql server 的整型和數字資料相似的數字資料,但 bit 列只能儲存 0 和 1。在插入 修改 bit 資料時,使用 0 或 1 而不是 false 或 true,bit 字段...
BIT型別在SQL Server中的儲存大小
對於一般的int char tinyint等資料型別,他們占用的儲存空間都是以byte位元組為單位的,但是bit型別由於只有0和1或者說 false和true,這種情況只需要乙個bit位就可以表示了,那麼在sql server中bit型別到底占用了多少空間?是不是由乙個bit位來儲存的?或者可能是使...