Seite 1 von 1

[gelöst] MySQL-If in Base?

Verfasst: Mi, 01.02.2012 18:37
von gogo
Hallo,

ich greife mittels jdbc und Oracle-Mysql-Treiber auf eine MySQL-Tabelle zu. Um die Füllung ("Null" oder "nicht Null") eines BLOB-Feldes darzustellen verwende ich folgende Syntax:

Code: Alles auswählen

SELECT if(isnull(t.`data`),'X','O') AS BinData FROM `DB`.`Tabelle1` as t;
Der Code ist korrekt, und kann von Base auch korrekt abgesetzt werden (Extras/SQL...)

Aber als Grundlage für ein Formular oder eine Abfrage funktioniert das Statement nicht. - Habe schon einen Haufen Umformatierungen vorgenommen, aber nichts hat gefruchtet - ich bekomme in Base immer einen Fehler:

Code: Alles auswählen

SQL-Status: HY000
Fehler-Code: 1000

syntax error, unexpected $end, expecting BETWEEN or IN or SQL_TOKEN_LIKE
Auch CASEWHEN statt IF bringt nichts. Hat irgendwer eine Idee wie man das hinbekommen könnte? - Es geht eigentlich nur darum, dass man im Formular erkennen kann ob in diesem Feld etwas ist, oder nicht.

Re: MySQL-If in Base?

Verfasst: Mi, 01.02.2012 18:53
von DPunch
Servus

Die Syntax funktioniert bei mir einwandfrei (OOo 3.2.1, MySQL-DB, JDBC-Treiber).
Voraussetzung ist natürlich, dass Du das Häkchen bei "SQL-Kommando direkt ausführen" gesetzt hast.

Re: MySQL-If in Base?

Verfasst: Do, 02.02.2012 00:10
von gogo
DANKE!!! für den Tipp mit dem Haken - der war's ... wenn im im Formular als Datenherkunft ("Art des Inhaltes") SQL-Befehl eingegeben ist, dann ist das Pendant zur Option "SQL-Kommando direkt ausführen" die Einstellung "SQL-Befehl analysieren".

Manchmal sollte man eben eher das Naheliegende versuchen - jetzt arbeite ich schon seit 3 Jahren in der Kombination Base/MySQL und hab den Haken noch nie gebraucht ...