Files
doris/new-docs/en/sql-manual/sql-functions/table-functions/explode-split.md
jiafeng.zhang c02625efa9 [refactor][doc] Doris official website new version documentation (#8757)
I started a discussion on this before, you can check it in the mail group

https://lists.apache.org/thread/o770bc3k623kyfks2mzkt21qsc4g6328

In order to facilitate everyone to organize the documents, I created a new-docs directory under the incubator-doris directory. The new directory structure is below this. I just created a directory structure here, which needs to be rearranged.

In the data import scenario, in order to take into account the viewing habits of previous users, the import is organized in two ways:

1. According to the usage scenario: This will give users clearer guidance. For example, the user is the data source of kafka, then the user can directly select the routine to load
2. According to the import method: it is the introduction of the various import methods we provided before

In order to facilitate everyone to run and debug locally, I migrated the entire .vuepress under the original document. After completion, you only need to delete the original docs directory and rename the new new-docs directory to docs. At the same time, you can also run it locally, so that you can organize documents and know the content of each document directory.

In the local debugging execution, switch to the new-docs directory and execute the following command:

````
npm install
npm run dev
````
then through the browser
http://ip:port/zh-CN
http://ip:port/en
2022-03-31 12:01:02 +08:00

112 lines
2.6 KiB
Markdown

---
{
"title": "explode_split",
"language": "en"
}
---
<!--
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
# explode_split
## description
Table functions must be used in conjunction with Lateral View.
Split a string into multiple substrings according to the specified delimiter.
grammar:
```
explode_split(str, delimiter)
```
## example
Original table data:
```
mysql> select * from example1 order by k1;
+------+---------+
| k1 | k2 |
+------+---------+
| 1 | |
| 2 | NULL |
| 3 | , |
| 4 | 1 |
| 5 | 1,2,3 |
| 6 | a, b, c |
+------+---------+
```
Lateral View:
```
mysql> select k1, e1 from example1 lateral view explode_split(k2, ',') tmp1 as e1 where k1 = 1 order by k1, e1;
+------+------+
| k1 | e1 |
+------+------+
| 1 | |
+------+------+
mysql> select k1, e1 from example1 lateral view explode_split(k2, ',') tmp1 as e1 where k1 = 2 order by k1, e1;
+------+------+
| k1 | e1 |
+------+------+
| 2 | NULL |
+------+------+
mysql> select k1, e1 from example1 lateral view explode_split(k2, ',') tmp1 as e1 where k1 = 3 order by k1, e1;
+------+------+
| k1 | e1 |
+------+------+
| 3 | |
| 3 | |
+------+------+
mysql> select k1, e1 from example1 lateral view explode_split(k2, ',') tmp1 as e1 where k1 = 4 order by k1, e1;
+------+------+
| k1 | e1 |
+------+------+
| 4 | 1 |
+------+------+
mysql> select k1, e1 from example1 lateral view explode_split(k2, ',') tmp1 as e1 where k1 = 5 order by k1, e1;
+------+------+
| k1 | e1 |
+------+------+
| 5 | 1 |
| 5 | 2 |
| 5 | 3 |
+------+------+
mysql> select k1, e1 from example1 lateral view explode_split(k2, ',') tmp1 as e1 where k1 = 6 order by k1, e1;
+------+------+
| k1 | e1 |
+------+------+
| 6 | b |
| 6 | c |
| 6 | a |
+------+------+
```
## keyword
explode_split