SUBSTR

返回 VARCHAR 或 VARBINARY 值,表示指定字符串的子字符串。

行为类型

不可变

语法

SUBSTR ( string , position [ , extent ] )

参数

string
(CHAR/VARCHAR 或 BINARY/VARBINARY)是用于提取子字符串的字符串。如果为 NULL,则 Vertica 不返回任何结果。
position
(INTEGER 或 DOUBLE PRECISION)子字符串的开始位置(按字符从 1 计数)。如果为 0 或负数,则 Vertica 不返回任何结果。
extent
(INTEGER 或 DOUBLE PRECISION)是要提取的子字符串的长度(按字符数)。默认为字符串结束位置。

注意

SUBSTR 可以截断 DOUBLE PRECISION 输入值。

示例

=> SELECT SUBSTR('abc'::binary(3),1);
 substr
--------
 abc
(1 row)

=> SELECT SUBSTR('123456789', 3, 2);
 substr
--------
 34
(1 row)

=> SELECT SUBSTR('123456789', 3);
 substr
---------
 3456789
(1 row)

=> SELECT SUBSTR(TO_BITSTRING(HEX_TO_BINARY('0x10')), 2, 2);
 substr
--------
 00
(1 row)

=> SELECT SUBSTR(TO_HEX(10010), 2, 2);
 substr
--------
 71
(1 row)