Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.
返回字符串的子串。
{ SUBSTRING | SUBSTR } ( string-expression, start [, length ] )
string-expression 从中返回子串的字符串。
start 要返回的子串的开始位置(以字符为单位)。
length 要返回的子串的长度(以字符为单位)。如果指定了 length,便将子串限制为不能超过该长度。
此函数的行为取决于 ansi_substring 数据库选项的设置。当将 ansi_substring 选项设置为 On(缺省值)时,SUBSTRING 函数的行为对应于 ANSI/ISO SQL/2008 行为。其行为如下所示:
正的 length 指定子串在开始位置右侧第 length 个字符处结束。
负的 length 会返回错误。
字符串中的第一个字符处于位置 1。负起始位置指定到字符串结尾(而非开头)的字符数。
如果 start 为零且 length 为非负数,则使用 1 作为 start 的值。如果 start 为零且 length 为负数,则使用 -1 作为 start 的值。
负 length 表示至多返回开始位置左侧(包括开始位置)的 length 个字符。
如果 string-expression 是二进制数据类型,则 SUBSTRING 函数的行为与 BYTE_SUBSTR 相同。
要获取字符串尾端的字符,应使用 RIGHT 函数。
此函数支持 NCHAR 输入和/或输出。如果输入字符串使用字符长度语义,就会在可能的情况下根据字符长度语义对返回值进行说明。
SQL/2008 SUBSTRING 是 SQL/2008 标准的核心功能。该标准的实现与 SQL Anywhere 的实现略有不同:该标准通过三个参数,使用关键字 FROM 和 FOR 来定义 SUBSTRING,SQL Anywhere 则不需要使用它们。
下表显示了 SUBSTRING 函数返回的值。