I tested hex in a 1000w times for loop with random numbers, old hex avg time cost is 4.92 s,optimize hex avg time cost is 0.46 s which faster nearly 10x.
86 lines
1.7 KiB
Markdown
86 lines
1.7 KiB
Markdown
---
|
|
{
|
|
"title": "hex",
|
|
"language": "zh-CN"
|
|
}
|
|
---
|
|
|
|
<!--
|
|
Licensed to the Apache Software Foundation (ASF) under one
|
|
or more contributor license agreements. See the NOTICE file
|
|
distributed with this work for additional information
|
|
regarding copyright ownership. The ASF licenses this file
|
|
to you under the Apache License, Version 2.0 (the
|
|
"License"); you may not use this file except in compliance
|
|
with the License. You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing,
|
|
software distributed under the License is distributed on an
|
|
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
|
|
KIND, either express or implied. See the License for the
|
|
specific language governing permissions and limitations
|
|
under the License.
|
|
-->
|
|
|
|
# hex
|
|
## description
|
|
### Syntax
|
|
|
|
`VARCHAR hex(VARCHAR str)`
|
|
|
|
`VARCHAR hex(BIGINT num)`
|
|
|
|
如果输入参数是数字,返回十六进制值的字符串表示形式;
|
|
|
|
如果输入参数是字符串,则将每个字符转化为两个十六进制的字符,将转化后的所有字符拼接为字符串输出
|
|
|
|
|
|
## example
|
|
|
|
```
|
|
输入字符串
|
|
|
|
mysql> select hex('1');
|
|
+----------+
|
|
| hex('1') |
|
|
+----------+
|
|
| 31 |
|
|
+----------+
|
|
|
|
mysql> select hex('@');
|
|
+----------+
|
|
| hex('@') |
|
|
+----------+
|
|
| 40 |
|
|
+----------+
|
|
|
|
mysql> select hex('12');
|
|
+-----------+
|
|
| hex('12') |
|
|
+-----------+
|
|
| 3132 |
|
|
+-----------+
|
|
```
|
|
|
|
```
|
|
输入数字
|
|
|
|
mysql> select hex(12);
|
|
+---------+
|
|
| hex(12) |
|
|
+---------+
|
|
| C |
|
|
+---------+
|
|
|
|
mysql> select hex(-1);
|
|
+------------------+
|
|
| hex(-1) |
|
|
+------------------+
|
|
| FFFFFFFFFFFFFFFF |
|
|
+------------------+
|
|
```
|
|
## keyword
|
|
HEX
|