Amazon Redshift
数据库开发人员指南 (API Version 2012-12-01)
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

SPLIT_PART 函数

用指定的分隔符拆分字符串,并返回指定位置的部分内容。

语法

Copy
SPLIT_PART(string, delimiter, part)

参数

string

要拆分的字符串。字符串可以是 CHAR 或 VARCHAR。

delimiter

分隔符字符串。

如果 delimiter 是文本,则将其括在单引号中。

part

要返回的部分的位置(从 1 算起)。必须是大于 0 的整数。如果 part 大于字符串部分的数量,SPLIT_PART 将返回空字符串。

返回类型

CHAR 或 VARCHAR 字符串,与字符串参数相同。

示例

以下示例将时间戳字段 LISTTIME 拆分为年、月和日组成部分。

Copy
select listtime, split_part(listtime,'-',1) as year, split_part(listtime,'-',2) as month, split_part(split_part(listtime,'-',3),' ',1) as date from listing limit 5; listtime | year | month | date ---------------------+------+-------+------ 2008-03-05 12:25:29 | 2008 | 03 | 05 2008-09-09 08:03:36 | 2008 | 09 | 09 2008-09-26 05:43:12 | 2008 | 09 | 26 2008-10-04 02:00:30 | 2008 | 10 | 04 2008-01-06 08:33:11 | 2008 | 01 | 06 (5 rows)

以下示例选择 LISTTIME 时间戳字段并在 '-' 字符处拆分它以获取月(LISTTIME 字符串的第二部分),然后计算每个月的条目数:

Copy
select split_part(listtime,'-',2) as month, count(*) from listing group by split_part(listtime,'-',2) order by 1, 2; month | count -------+------- 01 | 18543 02 | 16620 03 | 17594 04 | 16822 05 | 17618 06 | 17158 07 | 17626 08 | 17881 09 | 17378 10 | 17756 11 | 12912 12 | 4589 (12 rows)

本页内容: