--- { "title": "substring", "language": "zh-CN" } --- # substring ## description ### Syntax `VARCHAR substring(VARCHAR str, INT pos[, INT len])` 没有 `len` 参数时返回从位置 `pos` 开始的字符串 `str` 的一个子字符串, 在有 `len` 参数时返回从位置 `pos` 开始的字符串 `str` 的一个长度为 `len` 子字符串, `pos` 参数可以使用负值,在这种情况下,子字符串是以字符串 `str` 末尾开始计算 `pos` 个字符,而不是开头, `pos` 的值为 0 返回一个空字符串。 对于所有形式的 SUBSTRING(),要从中提取子字符串的字符串中第一个字符的位置为1。 ## example ``` mysql> select substring('abc1', -2); +-----------------------------+ | substring('abc1', 2) | +-----------------------------+ | bc1 | +-----------------------------+ mysql> select substring('abc1', -2); +-----------------------------+ | substring('abc1', -2) | +-----------------------------+ | c1 | +-----------------------------+ mysql> select substring('abc1', 5); +-----------------------------+ | substring('abc1', 5) | +-----------------------------+ | NULL | +-----------------------------+ mysql> select substring('abc1def', 2, 2); +-----------------------------+ | substring('abc1def', 2, 2) | +-----------------------------+ | bc | +-----------------------------+ ``` ## keyword SUBSTRING