1
MySQL的BIT_COUNT功能對於某些情況下非常有用:如何模擬Sybase SQL Anywhere中的MySQL bit_count功能?
http://dev.mysql.com/doc/refman/5.5/en/bit-functions.html#function_bit-count
現在我想使用該功能在其他數據庫,不支持它。最簡單的方法是什麼(不創建存儲函數,因爲我無法訪問DDL級別的客戶端數據庫)。
一個非常詳細的選項是這樣(爲TINYINT
數據類型):
SELECT (my_field & 1) +
(my_field & 2) >> 1 +
(my_field & 4) >> 2 +
(my_field & 8) >> 3 +
(my_field & 16) >> 4 +
...
(my_field & 128) >> 7
FROM my_table
在Sybase SQL Anywhere的的情況下,>>
運營商似乎並不可用,所以除以2, 4, 8, 16
作品好。
任何其他,較不詳細的選項?