Fork me on GitHub

CSVWrite

Signatures

CSVWrite(VARCHAR path, VARCHAR sqlSelectTable);
CSVWrite(VARCHAR path, VARCHAR sqlSelectTable,
         VARCHAR stringDecode);

Description

This function is a part of H2.

Please first consult its documentation on the H2 website.

Writes a CSV file from the SQL select statement sqlSelectTable to the CSV file specified by path.

Optional variable stringDecode is a space-separated string for setting CSV options. If NULL, its default value is used:

charset=UTF-8 fieldDelimiter=" fieldSeparator=, lineSeparator=\n
writeColumnHeader=true

Examples

-- Create an example table to use with CSVWrite:
CREATE TABLE AREA(THE_GEOM VARCHAR(100), ID INT PRIMARY KEY);
INSERT INTO AREA VALUES
    ('POLYGON((-10 109, 90 9, -10 9, -10 109))', 1),
    ('POLYGON((90 109, 190 9, 90 9, 90 109))', 2);
-- Write it to a CSV file:
CALL CSVWrite('/home/user/area.csv', 'SELECT * FROM AREA');
-- Read it back:
SELECT * FROM CSVRead('/home/user/area.csv');
-- Answer:
-- |                 THE_GEOM                 |   ID   |
-- | ---------------------------------------- | ------ |
-- | POLYGON((-10 109, 90 9, -10 9, -10 109)) |      1 |
-- | POLYGON((90 109, 190 9, 90 9,  90 109))  |      2 |

-- Try writing it with a specific charset and field separator:
CALL CSVWRITE('/home/user/area.csv',
              'SELECT * FROM AREA', 'charset=UTF-8
                                     fieldSeparator=;');
-- Read it back:
SELECT * FROM CSVRead('/home/user/area.csv',
                      NULL,
                      'charset=UTF-8 fieldSeparator=;');
-- Answer:
-- |                     THE_GEOM             |   ID   |
-- | ---------------------------------------- | ------ |
-- | POLYGON((-10 109, 90 9, -10 9, -10 109)) |      1 |
-- | POLYGON((90 109, 190 9, 90 9,  90 109))  |      2 |
See also