這個問題讓我很頭疼。我在 PostgreSQL 中有一個列是一個字串:
示例:bp Apx14 L 1 0 3
字符始終具有相同的結構,前兩個字母表示一件事,等等。
所以輸出應該是列:

想不通,先謝謝了
uj5u.com熱心網友回復:
您可以使用以下substring()功能:
select substring(the_col, 1, 2) as a,
substring(the_col, 3, 5) as b,
substring(the_col, 8, 1) as c,
substring(the_col, 9, 1) as d,
substring(the_col, 10, 1) as e,
substring(the_col, 11, 1) as f
from the_table
uj5u.com熱心網友回復:
另一種形式 substring()
substring(string FROM start_position for length)
SELECT SUBSTRING(column_name FROM 1 FOR 2) a,
SUBSTRING(column_name FROM 3 FOR 5) b,
SUBSTRING(column_name FROM 8 FOR 1) c,
SUBSTRING(column_name FROM 9 FOR 1) d,
SUBSTRING(column_name FROM 10 FOR 1) e,
SUBSTRING(column_name FROM 11 FOR 1) f
from your_table name
uj5u.com熱心網友回復:
如果您的子字串中需要正則運算式,您可以:
INSERT INTO table_name(A,B,C,D,E,F)
VALUES (
substring('bpApx14L103' from '^[a-z]{2}'),
substring('bpApx14L103', 3, 5)
[...]
);
當然同樣適用于選擇,
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/411063.html
標籤:
