title: how to split a string multiple times dynamically and pivot into groups in sql server
body: <p>I have a table like below:</p>
  
  <pre><code>ref_id
  
  21121212122233333333
  21222233333333333333
  22112212333333333333
  22213333333333333333
  </code></pre>
  
  <p>Result should look like this</p>
  
  <pre><code>ref_id            `Group_1  ` `Group_2`Group_3`Group_4`Group_5`
  
  21121212122233333333    2      112      12      12      1222
  21222233333333333333    2      12222            
  22112212333333333333    22     1122     12      
  12213333333333333333    122    1            
  </code></pre>
  
  <p>The query would take the part of the string prior to the number 1 (eg. 2 or 22) and take the part of the string from 1 to the next part of the string prior to 1 (eg 12222) but not including 3. I note that there may be 'n' number of groups. </p>
  
  <p>Not sure how to do this ... any help would be appreciated. </p>