gpt4 book ai didi

sql - 在 Postgres 中将表原始分成 block

转载 作者:行者123 更新时间:2023-11-29 12:30:56 25 4
gpt4 key购买 nike

我有一个表,其中包含 1 和 0 的条目太长。例如我有表:

| Sent id.|   BoW.   |
|---------|----------|
| 1 | 10100101 |
| 2 | 00011110 |
| 3 | 10101111 |

我想创建一个新表来划分 BoW 列。条目进入任意长度(在本例中为 4)并分配 block 号。

| Sent id.| Chunk No. | BoW. |
|---------|-----------|------|
| 1 | 1 | 1010 |
| 1 | 2 | 0101 |
| 2 | 1 | 0001 |
| 2 | 2 | 1110 |
| 3 | 1 | 1010 |
| 3 | 2 | 1111 |

我是初学者,尝试在文档中搜索,但没有成功。也许是这样的,但具有适当的功能:

CREATE TABLE Bow2 AS
SELECT Sent_id,
(Chunk+1) AS Chunk_No,
BoW/div(4) AS BoW;
FROM Bow1;

最佳答案

想到的一种方法是使用generate_series():

select b.sent_id, chunk, substring(bow from (chunk - 1) * 4 + 1 for 4)
from (select b.sent_id, generate_series(1, 1 + floor(length(bow) - 1 / 4) ) as chunk
from bow1 b
) b;

这种方法很灵活,因为它适应不同长度的bow

关于sql - 在 Postgres 中将表原始分成 block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35672293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com