# Derby: SYSCS_UTIL.SYSCS_EXPORT_QUERY mit String Abfrage in wehre-Klausel nicht möglich



## Henry_L (24. Apr 2014)

Wie bereits in der Überschrift zu lesen ist, kann ich in einem SYSCS_EXPORT_QUERY keine SQL-Statements angeben, welche in der where-Klausel auf varchar Felder gehen. Kann mir jemand einen Tipp geben was ich tun kann?

Geht:

```
String sql = "select * from Customer where ID=2";
String import = "CALL SYSCS_UTIL.SYSCS_EXPORT_QUERY('" + sql + "','c:\test.csv',';','\"','UTF16')";
PreparedStatement preparedStatement = con.prepareStatement(import);
preparedStatement.execute();
```

Geht nicht:

```
String sql = "select * from Customer where COUNTRY='DEU'";
String import = "CALL SYSCS_UTIL.SYSCS_EXPORT_QUERY('" + sql + "','c:\test.csv',';','\"','UTF16')";
PreparedStatement preparedStatement = con.prepareStatement(import);
preparedStatement.execute();
```

Er meckert hier das *'* an. Lasse ich es weg, kommt die Meldung, dass DEU keine gültige Spalte wäre. Beide Meldungen sind logisch. Nur wie kann ich jetzt die Datei entsprechend der Bedingung ausgeben? Meine gewünschten Spalten als INT erstellen und den Inhalt mit einem Schlüssel füllen möchte ich eigentlich nicht.


Gibt es außerdem die Möglichkeit die Alphazeichen in der Ausgabedatei wegzulassen? Benutze ich null wird der Default-Wert ("=doppelte Hochkommas) genommen. '' wird nicht zugelassen (java.sql.SQLException: A delimiter is not valid or is used more than once.).


----------



## turtle (24. Apr 2014)

Versuch mal
select * from Customer where COUNTRY='*'*DEU*'*'
Denn bei mir geht

```
CALL SYSCS_UTIL.SYSCS_EXPORT_QUERY('select * from customer where COUNTRY=''DEU''','C:\test.csv',';',':','UTF16');
```


----------



## Henry_L (25. Apr 2014)

Danke. Hat funktioniert. :toll:

Jetzt nur noch herausfinden, wie ich den CHARACTERDELIMITER ausschalte. Hast Du hierzu vielleicht auch eine Idee?

Bei ' ' oder '' kommt folgende Exception:

```
java.sql.SQLException: A delimiter is not valid or is used more than once.
```

Bei null wird der Standard genommen: "


----------



## turtle (25. Apr 2014)

CHARACTERDELIMITER
An input argument of type CHAR(1) that specifies a character delimiter. The specified character is used in place of double quotation marks to enclose a character string. 

*Passing a NULL value will use the default value; the default value is a double quotation mark (").*


----------

