CREATE CURSOR cities (city M)
INSERT INTO cities VALUES ('Baltimore, Boston, Denver')
INSERT INTO cities VALUES ('New York, Berlin, Paris, Roma, Madrid')
INSERT INTO cities VALUES ('Boston, Berlin, London')
INSERT INTO cities VALUES ('Buoenos Aires')
* GETWORD
CREATE CURSOR city (city C(100))
SELECT MAX(GETWORDCOUNT(city,',')) as maxno FROM cities INTO CURSOR cno
FOR lni=1 TO cno.maxno
INSERT INTO city SELECT CAST(GETWORDNUM(ALLTRIM(city),m.lni,',') as C(100)) FROM cities
NEXT
SELECT distinct ALLTRIM(city) FROM city WHERE !EMPTY(city) INTO CURSOR city READWRITE
SELECT city
BROWSE
* ALINES
CREATE CURSOR city (city C(100))
SELECT cities
SCAN
lnCity=ALINES(laCity,city,1+4,',')
FOR lni=1 TO lnCity
INSERT INTO city VALUES (m.laCity[m.lni])
NEXT
ENDSCAN
SELECT distinct city FROM city WHERE !EMPTY(city) INTO CURSOR city READWRITE
SELECT city
BROWSE
* STREXTRACT
CREATE CURSOR city (city C(100))
SELECT MAX(OCCURS(',',city)) as maxno FROM cities INTO CURSOR cno
INSERT INTO city SELECT CAST(STREXTRACT(city,'',',') as C(100)) FROM cities
INSERT INTO city SELECT city FROM cities WHERE AT(',',city)=0
FOR lni=1 TO cno.maxno-1
INSERT INTO city ;
SELECT CAST(STREXTRACT(city,',',',',m.lni) as C(100)) FROM cities union ;
SELECT CAST(STREXTRACT(city,',','',m.lni) as C(100)) FROM cities WHERE AT(',',STREXTRACT(city,',','',m.lni))=0
NEXT
INSERT INTO city SELECT CAST(STREXTRACT(city,',','',cno.maxno) as C(100)) FROM cities
SELECT distinct ALLTRIM(city) FROM city WHERE !EMPTY(city) INTO CURSOR city READWRITE
SELECT city
BROWSE