您可在 CHAR、VARCHAR、NCHAR、NVARCHAR、BYTE 和 TEXT 列上使用子字符串运算符来定义列子字符串作为通过该表达式指定的列的一部分。
当一对方括号([ ])括起以逗号分隔的无符号整数,其中 first 整数大于零但不大于 last 整数时,在字符列的标识符之后, GBase 8s 将方括号解释为子字符串运算符。表达式返回列中数据值的从 first 直到 last 字符,在此 first 和 last 定义子字符串。例如,在表达式 cat_advert [6,15] 中,返回值是列 cat_advert 的从第 6 个字符直到第 15 个字符。
在缺省的语言环境中,如果数据值占据至少 15 字节,则此表达式求值为包括该列值的十字节的一子字符串。但在多字节语言环境中,此表达式返回十个连续的逻辑字符的字符串,其存储长度可能超过 10 字节,以第六个逻辑字符开头。要获取关于列子字符串的 GLS 方面的更多信息,请参阅 GBase 8s GLS 用户指南。
lname[6,9]
SELECT lname FROM customer WHERE phone[5,7] = '356';
此处需要引号来防止数据库服务器将数值过滤器应用到标准值中的数字。
另请参阅 字符串操纵函数 部分,其描述两个可指定 SQL 语句内子字符串表达式的内建的 SQL 函数,SUBSTR( ) 和 SUBSTRING( )。