Skip to content

Commit 4fa7522

Browse files
authored
add detail desc for String Function SUBSTRING_INDEX () and TO_BASE64 (#16112)
1 parent 5e27e42 commit 4fa7522

File tree

1 file changed

+88
-2
lines changed

1 file changed

+88
-2
lines changed

functions-and-operators/string-functions.md

+88-2
Original file line numberDiff line numberDiff line change
@@ -449,11 +449,97 @@ SELECT CONCAT_WS(',', 'TiDB Server', 'TiKV', 'PD');
449449

450450
### [`SUBSTRING_INDEX()`](https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_substring-index)
451451

452-
从一个字符串中返回指定出现次数的定界符之前的子字符串
452+
`SUBSTRING_INDEX()` 函数用于按照指定的分隔符和次数从字符串中提取子字符串。该函数在处理以特定分隔符分隔的数据时特别有用,例如解析 CSV 数据或处理日志文件。
453+
454+
语法:
455+
456+
```sql
457+
SUBSTRING_INDEX(str, delim, count)
458+
```
459+
460+
- `str`:要处理的字符串。
461+
- `delim`:指定字符串中的分隔符,大小写敏感。
462+
- `count`:指定分隔符出现的次数。
463+
- 如果 `count` 为正数,该函数返回从字符串左边开始的第 `count` 个分隔符之前的子字符串。
464+
- 如果 `count` 为负数,该函数返回从字符串右边开始的第 `count` 个分隔符之后的子字符串。
465+
- 如果 `count``0`,该函数返回一个空字符串。
466+
467+
查询示例 1
468+
469+
```sql
470+
SELECT SUBSTRING_INDEX('www.tidbcloud.com', '.', 2);
471+
```
472+
473+
返回结果 2
474+
475+
```sql
476+
+-----------------------------------------+
477+
| SUBSTRING_INDEX('www.tidbcloud.com', '.', 2) |
478+
+-----------------------------------------+
479+
| www.tidbcloud |
480+
+-----------------------------------------+
481+
```
482+
483+
查询示例 2
484+
485+
```sql
486+
SELECT SUBSTRING_INDEX('www.tidbcloud.com', '.', -1);
487+
```
488+
489+
返回结果 2
490+
491+
```sql
492+
+------------------------------------------+
493+
| SUBSTRING_INDEX('www.tidbcloud.com', '.', -1) |
494+
+------------------------------------------+
495+
| com |
496+
+------------------------------------------+
497+
```
453498

454499
### [`TO_BASE64()`](https://dev.mysql.com/doc/refman/8.0/en/string-functions.html#function_to-base64)
455500

456-
返回转化为 base-64 表示的字符串参数
501+
`TO_BASE64()` 函数用于将输入的参数转换为 base-64 编码形式的字符串,并按照当前会话的字符集和排序规则返回结果。base-64 编码的字符串可以使用 [`FROM_BASE64()`](#from_base64) 函数进行解码。
502+
503+
语法:
504+
505+
```sql
506+
TO_BASE64(str)
507+
```
508+
509+
- 如果输入参数不是字符串,该函数会将其转换为字符串后再进行 base-64 编码。
510+
- 如果输入参数为 `NULL`,该函数返回 `NULL`
511+
512+
查询示例 1
513+
514+
```sql
515+
SELECT TO_BASE64('abc');
516+
```
517+
518+
返回结果 1
519+
520+
```sql
521+
+------------------+
522+
| TO_BASE64('abc') |
523+
+------------------+
524+
| YWJj |
525+
+------------------+
526+
```
527+
528+
查询示例 2
529+
530+
```sql
531+
SELECT TO_BASE64(6);
532+
```
533+
534+
返回结果 2
535+
536+
```sql
537+
+--------------+
538+
| TO_BASE64(6) |
539+
+--------------+
540+
| Ng== |
541+
+--------------+
542+
```
457543

458544
### [`TRANSLATE()`](https://docs.oracle.com/en/database/oracle/oracle-database/21/sqlrf/TRANSLATE.html#GUID-80F85ACB-092C-4CC7-91F6-B3A585E3A690)
459545

0 commit comments

Comments
 (0)