跳到主要内容

STRLEFT

描述

STRLEFT 函数(别名 LEFT)用于从字符串的左侧截取指定长度的字符。

别名

LEFT

语法

STRLEFT(<str>, <len>)
LEFT(<str>, <len>)

参数

参数说明
<str>需要截取的源字符串。类型:VARCHAR
<len>要返回的字符数量。类型:INT

返回值

返回 VARCHAR 类型,表示从字符串左侧截取的部分。

截取规则:

  • 从字符串左侧开始计算指定长度的字符
  • 如果长度超过字符串长度,返回整个字符串
  • 长度为负数或零时,返回空字符串

特殊情况:

  • 如果任一参数为 NULL,返回 NULL
  • 如果 len 小于等于 0,返回空字符串
  • 如果 len 大于字符串长度,返回整个字符串
  • 如果字符串为空,返回空字符串

示例

  1. 基本左侧截取
SELECT STRLEFT('Hello doris', 5), LEFT('Hello doris', 5);
+---------------------------+----------------------+
| STRLEFT('Hello doris', 5) | LEFT('Hello doris', 5) |
+---------------------------+----------------------+
| Hello | Hello |
+---------------------------+----------------------+
  1. 不同长度的截取
SELECT STRLEFT('Hello World', 3), STRLEFT('Hello World', 8);
+----------------------------+----------------------------+
| STRLEFT('Hello World', 3) | STRLEFT('Hello World', 8) |
+----------------------------+----------------------------+
| Hel | Hello Wo |
+----------------------------+----------------------------+
  1. NULL 值处理
SELECT STRLEFT(NULL, 5), STRLEFT('Hello doris', NULL);
+------------------+------------------------------+
| STRLEFT(NULL, 5) | STRLEFT('Hello doris', NULL) |
+------------------+------------------------------+
| NULL | NULL |
+------------------+------------------------------+
  1. 空字符串和零长度
SELECT STRLEFT('', 5), STRLEFT('Hello World', 0);
+------------------+----------------------------+
| STRLEFT('', 5) | STRLEFT('Hello World', 0) |
+------------------+----------------------------+
| | |
+------------------+----------------------------+
  1. 负数长度处理
SELECT STRLEFT('Hello doris', -5), STRLEFT('Hello doris', -1);
+-----------------------------+----------------------------+
| STRLEFT('Hello doris', -5) | STRLEFT('Hello doris', -1) |
+-----------------------------+----------------------------+
| | |
+-----------------------------+----------------------------+
  1. 超出字符串长度
SELECT STRLEFT('ABC', 10), STRLEFT('short', 20);
+--------------------+----------------------+
| STRLEFT('ABC', 10) | STRLEFT('short', 20) |
+--------------------+----------------------+
| ABC | short |
+--------------------+----------------------+
  1. UTF-8 多字节字符
SELECT STRLEFT('ṭṛì ḍḍumai hello', 3), STRLEFT('ṭṛì ḍḍumai hello', 7);
+---------------------------------+----------------------------------+
| STRLEFT('ṭṛì ḍḍumai hello', 3) | STRLEFT('ṭṛì ḍḍumai hello', 7) |
+---------------------------------+----------------------------------+
| ṭṛì | ṭṛì ḍḍu |
+---------------------------------+----------------------------------+
  1. 数字和编号前缀
SELECT STRLEFT('ID123456789', 5), STRLEFT('USER_987654321', 5);
+----------------------------+------------------------------+
| STRLEFT('ID123456789', 5) | STRLEFT('USER_987654321', 5) |
+----------------------------+------------------------------+
| ID123 | USER_ |
+----------------------------+------------------------------+
  1. utf-8 字符串
SELECT STRLEFT('ṭṛì ḍḍu', 5);
+--------------------------------+
| STRLEFT('ṭṛì ḍḍu', 5) |
+--------------------------------+
| ṭṛì ḍ |
+--------------------------------+