Diviser un VARCHAR dans DB2 pour récupérer une valeur à l'intérieur

J'ai un VARCHAR colonne qui contient 5 informations (2 CHAR(3) et 3 TIMESTAMP) séparés par des '$'.

CREATE TABLE MYTABLE (
  COL VARCHAR(256) NOT NULL
);

INSERT INTO MYTABLE 
VALUES
    ( 'AAA$000$2009-10-10 10:50:00$null$null$null' ),
    ( 'AAB$020$2007-04-10 10:50:00$null$null$null' ),
    ( 'AAC$780$null$2007-04-10 10:50:00$2009-04-10 10:50:00$null' )
;

Je voudrais extraire le 4ème champ ...

'AAA$000$2009-10-10 10:50:00$null$null$null'
                             ^^^^ this field

... pour avoir quelque chose comme

SELECT SPLIT(COL, '$', 4) FROM MYTABLE

1
-----
'null'
'null'
'2009-04-10 10:50:00'

Je suis à la recherche, dans l'ordre :

  1. Une base de données DB2 construire en fonction de chaîne
  2. Un intégrable énoncé tel que SUBSTR(COL, POSSTR(COL)+1)...
  3. Une fonction définie par l'utilisateur qui se comporte comme SPLIT

De précision : Oui, je ne sais que ce n'est pas une bonne idée d'avoir ces colonnes...

OriginalL'auteur Steve Schnepp | 2009-08-20