我在postgres表中有一个字段,如下表所示。我想根据空格作为分隔符将字符串拆分为两个单独的组件。注意所有的字段都是TEXT。postgresql 9.5:试图将一个字符串拆分为两个空格字段
tablename: intersection_table_wi
wwhid
-----
"102 5"
"104 61"
"103 84"
所以我想将其转换为一个目标是这样的:
wwhid wv002 wv003
----- ----- -----
"102 5" "102" "5"
"104 61" "104" "61"
"103 84" "103" "84"
的问题是,当我写的查询我一直得到的东西,看起来更像是这样的:
wwhid wv002 wv003
----- ----- -----
"102 5" "102 5" ""
"104 61" "104 61" ""
"103 84" "103 84" ""
现在微妙的问题是,在某些情况下,两个子串之间有多于一个空格,而在其他情况下只有一个空格。
我试着查询如下:
UPDATE intersection_table_wi
SET wv002 = SPLIT_PART(BTRIM(whhid), '/\s+', 1),
wv003 = SPLIT_PART(BTRIM(whhid), '/\s+', 2);
谁能告诉我怎样才能解决这个查询来获取上述规定的目标是什么?
是双引号实际数据的一部分? –
是的,这些都是字符串。这就是原始数据的来源。我可以在将变量分离出来之后将变体应用到变量中,但为了简化示例,我只是想简化它。但答案是,wwh002,wv002,wv003变量是文本。 – krishnab
因此,你*将这些双引号存储在数据库中? –