翻译页面
本页面由 AI 辅助从英文翻译而来。如两者存在差异,以英文版本为准。
SUBSTRING
返回字符表达式或二进制表达式的一部分。SUBSTR 是 SUBSTRING 的别名。
信息
要从 JSON 对象中提取字段,请使用 JSON_EXTRACT 函数。
语法
SELECT SUBSTRING(expression, start[, length]) FROM <multipartIdentifier>;
SELECT SUBSTR(expression, start[, length]) FROM <multipartIdentifier>;
参数
expression
ASCII 字符串或 BLOB。
如果 expression 是字符串,则字符索引指的是实际的 UTF-8 字符。如果 expression 是 BLOB,则索引指的是字节。
start
一个整数,表示要返回的输入表达式子序列的第一个字符或字节。如果 start 为负数,则从右侧而不是左侧开始计数来确定子字符串的第一个字符。
expression 最左侧的字符编号为 1。
length
可选的整数值,表示从 start 值之后要返回的子序列的长度。如果省略 length,则返回直到 expression 指定的字符串或 BLOB 末尾的所有字符。
如果 length 为负数,则使用 length 的绝对值。
返回值
根据 expression 的类型返回字符串或 BLOB 值。
示例
返回列的前 n 个字符
SELECT SUBSTRING(name, 1, 5) as "first five chars"
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
截去列的前 n 个字符
SELECT SUBSTR(name, 5) as "from char 5"
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';
返回列的最后 n 个字符
SELECT SUBSTRING(name, -5) as "last five chars"
FROM google.compute.instances
WHERE project = 'stackql-demo'
AND zone = 'australia-southeast1-a';