LTRIM
描述
LTRIM 函数用于去除字符串左侧(开头部分)连续出现的空格或指定字符集合中的字符。该函数从字符串的左端开始扫描,移除所有连续出现的目标字符,直到遇到不在目标字符集合中的字符为止。
语法
LTRIM(<str> [, <trim_chars>])
参数
| 参数 | 说明 |
|---|---|
<str> | 需要进行左侧修剪的源字符串。类型:VARCHAR |
<trim_chars> | 可选参数,指定要移除的字符集合。如果未提供此参数,默认去除空格字符。类型:VARCHAR |
返回值
返回 VARCHAR 类型,表示左侧去除指定字符后的字符串。
修剪规则:
- 只从字符串左侧(开头)开始移除字符
- 移除所有连续出现在 trim_chars 中的字符
- 一旦遇到不在 trim_chars 中的字符就停止移除
- 如果未指定 trim_chars,默认移除空格字符(包括空格、制表符、换行符等空白字符)
特殊情况:
- 如果任意参数为 NULL,返回 NULL
- 如果 str 为空字符串,返回空字符串
- 如果 trim_chars 为空字符串,返回原字符串
- 如果整个字符串都由 trim_chars 中的字符组成,返回空字符串
示例
- 去除左侧空格
SELECT LTRIM(' ab d');
+-------------------+
| LTRIM(' ab d') |
+-------------------+
| ab d |
+-------------------+
- 去除指定字符
SELECT LTRIM('ababccaab', 'ab');
+----------------------------+
| LTRIM('ababccaab', 'ab') |
+----------------------------+
| ccaab |
+----------------------------+
- 多种空白字符处理
SELECT LTRIM(' \t\n hello world');
+--------------------------------+
| LTRIM(' \t\n hello world') |
+--------------------------------+
| hello world |
+--------------------------------+
- NULL 值处理
SELECT LTRIM(NULL), LTRIM('test', NULL);
+-------------+---------------------+
| LTRIM(NULL) | LTRIM('test', NULL) |
+-------------+---------------------+
| NULL | NULL |
+-------------+---------------------+
- 空字符串处理
SELECT LTRIM(''), LTRIM('test', '');
+------------+-----------------------+
| LTRIM('') | LTRIM('test', '') |
+------------+-----------------------+
| | test |
+------------+-----------------------+
- 多字符修剪集合
SELECT LTRIM('abcdefg', 'abc'), LTRIM('123456', '12');
+-------------------------+------------------------+
| LTRIM('abcdefg', 'abc') | LTRIM('123456', '12') |
+-------------------------+------------------------+
| defg | 3456 |
+-------------------------+------------------------+
- 整个字符串都需修剪
SELECT LTRIM('aaaaa', 'a'), LTRIM(' ', ' ');
+---------------------+-------------------+
| LTRIM('aaaaa', 'a') | LTRIM(' ', ' ') |
+---------------------+-------------------+
| | |
+---------------------+-------------------+
- UTF-8 字符处理
SELECT LTRIM('ṭṛìṭṛì test', 'ṭṛì'), LTRIM('ḍḍuḍḍu hello', 'ḍu');
+--------------------------------------------+---------------------------------------+
| LTRIM('ṭṛìṭṛì test', 'ṭṛì') | LTRIM('ḍḍuḍḍu hello', 'ḍu') |
+--------------------------------------------+---------------------------------------+
| test | ḍḍuḍḍu hello |
+--------------------------------------------+---------------------------------------+
- 数字字符修剪
SELECT LTRIM('000123', '0'), LTRIM('123abc123', '123');
+-----------------------+-----------------------------+
| LTRIM('000123', '0') | LTRIM('123abc123', '123') |
+-----------------------+-----------------------------+
| 123 | abc123 |
+-----------------------+-----------------------------+
- 特殊符号修剪
SELECT LTRIM('---text---', '-'), LTRIM('@@hello@@', '@');
+---------------------------+----------------------------+
| LTRIM('---text---', '-') | LTRIM('@@hello@@', '@') |
+---------------------------+----------------------------+
| text--- | hello@@ |
+---------------------------+----------------------------+