§ SQL兼容性 - SUBSTRB()函数


§ 1. 语法

SUBSTRB(string, pos [, substring_length] )
1

§ 2. 定义和用法

函数 SUBSTRB() 的作用是返回字符型参数 string 的一部分。该部分是由 string 的第 pos 个byte开始,取 substring_length个byte长度。

  • 若pos为0,视为1。表示string的最开始的byte开始(第1个byte)。
  • 若pos为正数,表示由string的第pos个byte开始。
  • 若pos为负数,表示由string末尾反向数回第pos个byte开始。
  • 若substring_length未指定,表示取到string的最后一个byte为止。
  • 若substring_length小于1,则返回NULL。
  • 若传回的内容只包含multi-byte字符(多字节字符,例如中文字符)的一部分,该部分会以空格替代。

§ 3. 示例

greatsql> create table ssbtable ( c1 char(20) );
greatsql> insert into ssbtable values ('测试1字1234');

greatsql> select hex(substrb(c1, 1, 6)), substrb(c1, 1, 6), c1 from ssbtable;
+------------------------+-------------------+----------------+
| hex(substrb(c1, 1, 6)) | substrb(c1, 1, 6) | c1             |
+------------------------+-------------------+----------------+
| E6B58BE8AF95           | 测试              | 测试11234    |
+------------------------+-------------------+----------------+

greatsql> select hex(substrb(c1, 2, 2)), substrb(c1, 2, 2), c1 from ssbtable;
+------------------------+-------------------+----------------+
| hex(substrb(c1, 2, 2)) | substrb(c1, 2, 2) | c1             |
+------------------------+-------------------+----------------+
| 2020                   |                   | 测试11234    |
+------------------------+-------------------+----------------+

greatsql> select hex(substrb(c1, 2, 6)), substrb(c1, 2, 6), c1 from ssbtable;
+------------------------+-------------------+----------------+
| hex(substrb(c1, 2, 6)) | substrb(c1, 2, 6) | c1             |
+------------------------+-------------------+----------------+
| 2020E8AF9531           |1             | 测试11234    |
+------------------------+-------------------+----------------+

greatsql> select hex(substrb(c1, 3, 6)), substrb(c1, 3, 6), c1 from ssbtable;
+------------------------+-------------------+----------------+
| hex(substrb(c1, 3, 6)) | substrb(c1, 3, 6) | c1             |
+------------------------+-------------------+----------------+
| 20E8AF953120           |1              | 测试11234    |
+------------------------+-------------------+----------------+
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30

§ 问题反馈

§ 联系我们

扫码关注微信公众号

greatsql-wx