我想知道支持BIT_count功能的mariadb版本: 这给了我以下查询的结果:
SELECT
BIT_COUNT(BINARY '101100111100100100110101101110110011011001100111110010010110010011011011000100111000000111011011011100101111110110001100100010010111000000100011100001111001101100011001101010110100001011101001001101111000001110011001100000111100111011001110010001100101110100011000101101110001100110111000101000110111000001011001111010101101010000010101001000101001100000111001011011110111100001110100001110101010010010000010010001011101000111011000000010111000100110011101000110011011110101001110100000100001011111001001011000111010000110000111111010010111110100000010100001110010011011000010' ^ BINARY '101100111100100100110101101110110011011001100111110010010110010011011011000100111000000111011011011100101111110110001100100010010111000000100011100001111001101100011001101010110100001011101001001101111000001110011001100000111100111011001110010001100101110100011000101101110001100110111000101000110111000001011001111010101101010000010101001000101001100000111001011011110111100001110100001110101010010010000010010001011101000111011000000010111000100110011101000110011011110101001110100000100001011111001001011000111010000110000111111010010111110100000010100001110010011011011111');
此查询在mysql8.0.1中运行良好 这给了我输出为4
但我在服务器上安装了mariadb5.5.52 我对mariadb没有任何了解,所以我想知道这个查询支持哪个版本。
答案 0 :(得分:0)
MySQL和MariaDB 主要兼容。几十种不起眼的方式不同 - 几乎没有人使用的方式。你问的是这样一种方式。
Oracle扩展MySQL 8.0.1以包含64位以上的“位”功能(BIGINT
);他们现在在BLOB
工作。 MariaDB尚未包含该代码。他们可能包括也可能不包括它。 (我怀疑他们会在10.3中考虑它。)
答案 1 :(得分:-1)
适用于10.0版本。
如果您使用的是10.1,则可能会收到一些警告,有关详细信息,请参阅this article。
<强>更新强>
这个答案只有在使用BIGINT值时才是正确的。见Rick James评论。