База данных H2 - CSVREAD / CSVWRITE - как называется опция для полевого вложения? - PullRequest
1 голос
/ 08 января 2012

Я использую базу данных H2 в моем Java-приложении. Я использую команду CSVWRITE для записи данных из БД в файл. Единственная проблема заключается в том, что значения, записанные в файл, заключены в двойные кавычки. Ниже приведена запись, например:

"TN"|"8903555"|"2012-01-08 23:20:27.0"|"Hello"|"Postpaid"|"TN2011120810070811"

Я хочу, чтобы указанная выше строка экспортировалась без двойных кавычек, как показано ниже:

TN|8903555|2012-01-08 23:20:27.0|Hello|Postpaid|TN2011120810070811

Итак, какое имя опции в команде CSVWRITE я могу использовать для этого. Ниже приведена команда, которую я использую для экспорта данных в файл:

CALL CSVWRITE('/home/admin/Documents/abc.txt', 'SELECT * FROM TEST0 WHERE IN_DATE >= ''2012-01-08 00:00:00'' AND IN_DATE < ''2012-01-09 00:00:00''', 'charset=UTF-8 fieldSeparator=|');

1 Ответ

7 голосов
/ 09 января 2012

Вы можете использовать:

CALL CSVWRITE('/home/admin/Documents/abc.txt',
    'SELECT * FROM TEST0 WHERE IN_DATE >= ''2012-01-08 00:00:00'' 
    AND IN_DATE < ''2012-01-09 00:00:00''', 
    'charset=UTF-8 fieldSeparator=| fieldDelimiter=');

FieldDelimiter не нужно указывать в конце. Если вы хотите использовать пробел в качестве разделителя полей, вам нужно экранировать его, используя обратную косую черту: '... fieldDelimiter=\ '

...