本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
SPLIT_PART 函数
用指定的分隔符拆分字符串,并返回指定位置的部分内容。
SPLIT_PART(string, delimiter, position)
Arguments
以下示例使用
#
分隔符,将字符串文本拆分为多个部分。它返回整个字符串,也就是第一部分,因为找不到分隔符。
select split_part('abc$def$ghi','#',1)
split_part ------------ abc$def$ghi以下示例将时间戳字段 LISTTIME 拆分为年、月和日组成部分。
select listtime, split_part(listtime,'-',1) as year, split_part(listtime,'-',2) as month, split_part(split_part(listtime,'-',3),' ',1) as day from listing limit 5;
listtime | year | month | day ---------------------+------+-------+------ 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以下示例选择 LISTTIME 时间戳字段并在
'-'
字符处拆分它以获取月(LISTTIME 字符串的第二部分),然后计算每个月的条目数:
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