Generieren Sie eine neue Zeichenfolgenvariable, indem Sie zwei ganzzahlige Variablen mit MySQL verketten

StackOverflow https://stackoverflow.com/questions/8981581

  •  12-11-2019
  •  | 
  •  

Frage

Ich entschuldige mich für die Albernheit der Frage, bin aber ein kompletter Neuling bei MySQL und habe sogar Probleme, die Dokumentation dafür zu lesen.Ich habe eine Tabelle mit zwei Spalten "homeid" und "indid", die beide ganzzahlige Datenfelder sind.Ich möchte diese in einer neuen Variablen "uid" mit einem Bindestrich verketten.Die gewünschte Ausgabe würde so aussehen:

uid   homeid   indid
10-1  10       1
10-2  10       2
11-1  11       1

Ich habe den folgenden Code ausprobiert, der durch Generieren der Variablen "uid", in der sich die verketteten Variablen befinden sollen, einwandfrei funktioniert, aber darüber hinaus nicht zu funktionieren scheint (obwohl kein Fehler erzeugt wird):

ALTER TABLE table_name
add column uid varchar(10) FIRST; /*adds column uid to table "table_name" as first column*/

UPDATE table_name
SET uid=CONCAT('-' , homeid, indid);

Vielen Dank im Voraus für Ihre Hilfe (und Geduld).

War es hilfreich?

Lösung

Die Funktion, die Sie hier benötigen, ist CONCAT_WS() so verwenden Sie ein Trennzeichen -, oder ändern Sie die Argumente in CONCAT():

UPDATE table_name SET uid = CONCAT_WS('-' , homeid, indid);

ODER ändern Sie die Argumente zu CONCAT()

UPDATE table_name SET uid = CONCAT(homeid, '-', indid);

Andere Tipps

Bitte versuchen Sie es mit der Abfrage. generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top