2013-01-11 25 views
1

我需要將varchar字段拆分爲設置長度的行,但沒有分隔符。split_to_table()按字符數和無分隔符

實施例:
提起值:'Field example of varchar'
並且我想要這個分成長度爲5的線,結果應該是:

"Field" 
" exam" 
"ple o" 
"f var" 
"char " 

我曾嘗試此查詢:

select regexp_split_to_table('Field example of varchar','(.{5})') as x 

但它不起作用,它返回五個空行。

+0

沒有什麼不對您的正則表達式反正差不多:http://regex101.com/r/eP6zT1 - 你必須改變{5}到{1,5}趕上因爲字符串長度似乎不能被5(它的24)均勻分割。 –

+0

問題是,regexp_split_to_table保留分隔符之間的數據,但不是分隔符本身。看到解決方案會很有趣。 –

回答

1

您可以使用不regexp_split_to_table,但regexp_matches

select (regexp_matches('Field example of varchar', E'.{1,5}', 'g'))[1] 
+0

非常感謝,它完美的作品 –