最近学习的时候遇到个CONV函数,百度搜了搜发现国内网站上关于此函数的解释不多也不太清楚,正好碰到国外网站有这个函数的详细介绍,我就把这篇文章翻译过来以做参考

以下为翻译:

CONV()函数

MySQL CONV()将一个数字从一个数字基数系统转换为另一个数字基数系统。转换后,函数返回数字的字符串表示形式。

当定义的参数为NULL时,返回值将为NULL。

最小基数为2,最大基数为36.如果要转换的基数为负数,则该数字被视为带符号数。否则,它被视为未签名。

句法:

<span style="color:#358ccb">CONV(num,from_base,to_base);
</span>

参数

名称描述
NUM一个号码。
from_base数字的现有基数
to_base转换后的数字num的基数。

语法图:

MySQL CONV()函数 - 语法图

MySQL版本:5.6

 

MySQL CONV()函数的图示

MySQL CONV()函数的图形表示


 

 

 

 

 

 

 

 

 

 

MySQL CONV()函数示例

码:

<span style="color:rgba(0, 0, 0, 0.87)"><span style="color:#000000"><code class="language-sql"><span style="color:#1990b8">SELECT</span> CONV<span style="color:#5f6364">(</span><span style="color:#c92c2c">15</span><span style="color:#5f6364">,</span><span style="color:#c92c2c">10</span><span style="color:#5f6364">,</span><span style="color:#c92c2c">2</span><span style="color:#5f6364">)</span><span style="color:#5f6364">;</span>
</code>
</span></span>

复制

说明

上面的MySQL语句将15的数值从十进制数字系统转换为二进制数字系统。

样本输出:

<span style="color:#009999">mysql> SELECT CONV(15,10,2);
+ --------------- +
| CONV(15,10,2)|
+ --------------- +
| 1111 |
+ --------------- +
1排(0.02秒)
</span>

示例:使用字符值的CONV()函数

码:

<span style="color:rgba(0, 0, 0, 0.87)"><span style="color:#000000"><code class="language-sql"><span style="color:#1990b8">SELECT</span> CONV<span style="color:#5f6364">(</span><span style="color:#2f9c0a">'b'</span><span style="color:#5f6364">,</span><span style="color:#c92c2c">16</span><span style="color:#5f6364">,</span><span style="color:#c92c2c">10</span><span style="color:#5f6364">)</span><span style="color:#2f9c0a">'Hexadecimal to Decimal'</span><span style="color:#5f6364">,</span>
  CONV<span style="color:#5f6364">(</span><span style="color:#2f9c0a">'b'</span><span style="color:#5f6364">,</span><span style="color:#c92c2c">16</span><span style="color:#5f6364">,</span><span style="color:#c92c2c">2</span><span style="color:#5f6364">)</span> <span style="color:#1990b8">AS</span> <span style="color:#2f9c0a">'Hexadecimal to Binary'</span><span style="color:#5f6364">;</span>
</code>
</span></span>

复制

说明

上面的MySQL语句将转换十进制数'b'的十进制数和二进制数。

样本输出:

<span style="color:#009999">mysql> SELECT CONV('b',16,10)'十六进制到十进制',
    - > CONV('b',16,2)AS'十六进制到二进制';
+ ------------------------ + ----------------------- +
| 十六进制到十进制| 十六进制到二进制|
+ ------------------------ + ----------------------- +
| 11 | 1011 |
+ ------------------------ + ----------------------- +
1排(0.02秒)
</span>

示例:使用负基的CONV()函数

码:

<span style="color:rgba(0, 0, 0, 0.87)"><span style="color:#000000"><code class="language-sql"><span style="color:#1990b8">SELECT</span> CONV<span style="color:#5f6364">(</span><span style="color:#c92c2c">19</span><span style="color:#5f6364">,</span><span style="color:#c92c2c">10</span><span style="color:#5f6364">,</span><span style="color:#a67f59">-</span><span style="color:#c92c2c">16</span><span style="color:#5f6364">)</span><span style="color:#5f6364">;</span>
</code>
</span></span>

复制

说明

上面的MySQL语句将十进制值19转换为十六进制数。这里要转换的基数是-16,因此它被视为无符号数。

样本输出:

<span style="color:#009999">mysql> SELECT CONV(19,10,-16);
+ ----------------- +
| CONV(19,10,-16)|
+ ----------------- +
| 13 |
+ ----------------- +
1排(0.00秒)</span>

 

 

 

 

Logo

更多推荐