Ergebnis 1 bis 5 von 5

Thema: 2 varchars zusammen bzw anhängen fassen

  1. #1
    traxanos ist offline Benutzer
    Registriert seit
    27.05.2008
    Beiträge
    96

    Standard 2 varchars zusammen bzw anhängen fassen

    Ich möchte gerne das zeichen immer demresult anhängen

    Lieder klappt ein einfaches concat mittel ||*nicht. Scheinbar muss ich nochwas casten find aber die Lösung nicht.

    Code:
    DROP FUNCTION generate_voucher_code();
    CREATE OR REPLACE FUNCTION generate_voucher_code() RETURNS varchar AS $$
    DECLARE
      i int4;
      j int4;
      chars varchar := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
      result varchar;
    BEGIN
      for i in 1 .. 16 loop
        j := int4(random()*35)+1;
        result = substring(chars, j, 1);
      end loop;
      return result;
    END;
    $$ LANGUAGE 'plpgsql';
    SELECT generate_voucher_code();

  2. #2
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von traxanos Beitrag anzeigen
    Ich möchte gerne das zeichen immer demresult anhängen

    Lieder klappt ein einfaches concat mittel ||*nicht. Scheinbar muss ich nochwas casten find aber die Lösung nicht.

    Code:
    DROP FUNCTION generate_voucher_code();
    CREATE OR REPLACE FUNCTION generate_voucher_code() RETURNS varchar AS $$
    DECLARE
      i int4;
      j int4;
      chars varchar := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';
      result varchar;
    BEGIN
      for i in 1 .. 16 loop
        j := int4(random()*35)+1;
        result = substring(chars, j, 1);
      end loop;
      return result;
    END;
    $$ LANGUAGE 'plpgsql';
    SELECT generate_voucher_code();
    An welcher Stelle ist denn deine String-Concatenation?

    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  3. #3
    akretschmer ist offline Super-Moderator
    Registriert seit
    29.10.2006
    Ort
    Dresden
    Beiträge
    5.472

    Standard

    Zitat Zitat von akretschmer Beitrag anzeigen
    An welcher Stelle ist denn deine String-Concatenation?

    Andreas
    Vermutlich wirst Du das nun noch in Deine Schleife einbauen und vermutlich wird es dann auch noch nicht gehen. Dein nächster Fehler wird sein, daß Deine Variable 'result' nicht initialisiert und somit NULL ist. Und NULL || 'x' ist nunmal wieder NULL.


    Andreas
    --
    ads Das hatte dir akretschmer gestern schon gesagt und siehe da sobald du das machst, funktioniert es ;-)
    https://www.xing.com/profile/Andreas_Kretschmer7

  4. #4
    traxanos ist offline Benutzer
    Registriert seit
    27.05.2008
    Beiträge
    96

    Standard

    hab erstmal nur das funktioniernde gepostet.

    habe schon mehrere sachen probiert. das sollte eignetlich meiner meinung nach schon reichen tut es aber nicht.

    Code:
    result = result  || substring(chars, j, 1);
    Castin mit ::TEXT oder ::VARCHAR habenb nicht geklappt.
    immer das gleiche ergebnis -> Leeres Feld

  5. #5
    traxanos ist offline Benutzer
    Registriert seit
    27.05.2008
    Beiträge
    96

    Standard

    danke das wars, die initialisierung

Ähnliche Themen

  1. Text per SQL an Datensatz anhängen
    Von rezwiebel im Forum SQL
    Antworten: 2
    Letzter Beitrag: 21.11.2008, 18:29
  2. Group by zusammen mit dem Typ "time"
    Von BoOnOdY im Forum SQL
    Antworten: 12
    Letzter Beitrag: 04.04.2007, 12:19
  3. postgistabellen nachträglich anhängen
    Von geog172 im Forum PostGIS
    Antworten: 3
    Letzter Beitrag: 27.02.2006, 13:18

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum