使用sql后没有字符后拆分字符串

时间:2014-08-19 08:31:58

标签: sql oracle

如何在没有字符之后使用sql拆分字符串并添加一个分隔符?。我知道我们可以使用过程或函数来完成它但是这可以单独使用sql吗?。谢谢提前

value from DB Column    : aaaaabbbbbcccccdddddeeeee
Result to be from Query : aaaaa-bbbbb-ccccc-ddddd-eeeee

列值可以是:

asdhfaskjdfhasjkdfhaskjdfhaskjdfhaskjdfhasdkfjhsadkfhskadfh
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
asdlfjas aslkdfjasld f laskdfjaslkdf l lskadfjasld fasdfsadfas lasdfjasdf
1111111111111111111111111111111111111111111111111 2222222222222222222222

1 个答案:

答案 0 :(得分:3)

你真的不想每隔X个字符拆分字符串;将其短语想要每X个字符插入一个特定字符(在本例中为-)会更正确。使用REGEXP_REPLACE函数应该非常简单;文档中有一个在每个(非空)字符后插入空格的示例。适应这一点,这样的事情应该有效(虽然我无法测试它):

REGEXP_REPLACE(your_column, '(.....)', '\1-') "YOUR_COLUMN_ALIAS"