Frippos: Parameter zusammenfügen

Hallo Leute,

Schreibe gerade eine Query im SQL Explorer.
Hier ein kleiner Auszug aus der Query:

select * from TABELLE where (PARAM1 + PARAM2) like 'TEXT'

Mein Problem ist das zusammenfügen der Parameter.

in der SQL Syntax wird das "+" verwendet, in HSQL und ORACLE wird das "||" verwendet.

Gibt es eine Möglichkeit eine Query zu schreiben die von allen Drei (MSSQL, HSQL, ORACLE) korrekt ausgeführt wird?

Google hat mir keine Antwort geliefert!

mfg

  1. Hello,

    Gibt es eine Möglichkeit eine Query zu schreiben die von allen Drei (MSSQL, HSQL, ORACLE) korrekt ausgeführt wird?

    Du könntest die CONCAT(a,b)-Funktion verwenden, wobei ich nicht weiß, wie es da mit HSQL aussieht.

    MfG
    Rouven

    --
    -------------------
    Buy when there's blood running in the street and sell when everyone is pounding at your door, clawing to own your equities  --  Wisdom on Wallstreet
    1. Du könntest die CONCAT(a,b)-Funktion verwenden, wobei ich nicht weiß, wie es da mit HSQL aussieht.

      Danke für die schnelle Antwort, aber ich brauche Standart SQL und mein MS SQL Explorer kennt die CONCAT Funktion nicht!

      Gibt es sonst noch Lösungsvorschläge?

      mfg

      1. Hello,

        Danke für die schnelle Antwort, aber ich brauche Standart SQL und mein MS SQL Explorer kennt die CONCAT Funktion nicht!

        stimmt, habe ich jetzt auch gesehen. Das Problem ist, Standard SQL bringt dich nicht weiter, weil der SQL-Server in dem Bereich nunmal kein Standard-SQL spricht, zumindest der 2000er nicht, wie es mit dem 2005er aussieht weiß ich nicht.
        Es bleibt dir dementsprechend nicht viel übrig, als verschiedene Statements zu generieren. Was du aber machen könntest ist dir einen globalen SQL-CONCAT-Operator zu definieren, also z.B.
        define(SQL_CONCAT_OPERATOR, "+") bzw. define(SQL_CONCAT_OPERATOR, "||")
        und in deinem Statement entsprechend zu verwenden.

        MfG
        Rouven

        --
        -------------------
        Unser Problem ist, dass wir eine Demokratie entwickelt haben, was nicht immer der richtige Weg ist  --  Bernie Ecclestone zu den lästigen Diskussionen um Regeländerungen in der Formel 1