SQLite - Reverse-String-Funktion

8

Gibt es eine Funktion zum Umkehren von Zeichenketten in SQLite? Ich kann in der Dokumentation nichts finden.

Danke!

    
Martin Vseticka 19.10.2011, 19:19
quelle

4 Antworten

9

Dafür gibt es keine eingebaute Funktion. Sie können eine benutzerdefinierte Funktion hinzufügen, wie in diesem Beispiel in Python:

%Vor%     
hamstergene 20.10.2011, 12:57
quelle
4

Unter Verwendung eines allgemeinen Tabellenausdrucks ist es möglich, eine Zeichenfolge in SQLite umzukehren.

%Vor%

Gibt hello world zurück.

    
user1461607 21.03.2015 19:45
quelle
1

Ich habe mein Problem beim Speichern von Wortumkehrungen gelöst, das ich über dieses PHP-Skript erhalten habe:

%Vor%     
Martin Vseticka 23.10.2011 11:38
quelle
0

Hallo MartyIX ,

Ja, Sqlite3 verfügt über eine Funktion, mit der Sie Zeichenketten umkehren können.

Umgekehrte Zeichenfolgen in SQLite

Bedingungen

  1. Sie müssen die Länge der Zeichenfolge kennen.
  2. Wenn Sie alle Zeichenfolgen in einer Spalte umkehren möchten, müssen alle Zeichenfolgen gleich lang sein.

Beispiel

Stellen Sie sich vor, Sie hätten eine Tabelle namens myTable wie diese hier.

%Vor%

In diesem Fall enthält die Spalte myField Zeichenfolgen mit einer Länge von 8 Zeichen.

Abfrage

%Vor%

Ergebnis

%Vor%

Erklärung

Die negative Ganzzahl , z. -1 in SUBSTR (myField, -1 , 1),
weist Sqlite an, am ganz rechts stehenden Zeichen in der Zeichenfolge zu beginnen.

Die positive ganze Zahl , z.B. 1 in SUBSTR (myField, -1, 1 ),
sagt Sqlite, nur ein Zeichen auszuwählen.

Die || , z.B. SUBSTR (myField, -1,1) || ,
ruft die Funktion group_concat (X) auf.

Das 'reversed' in SUBSTR (myField, -8,1) 'reversed' ,
weist Sqlite an, die umgekehrten Strings in eine neue Spalte mit der Bezeichnung reversed zu übernehmen.

Die obige SELECT -Anweisung würde normalerweise in
eingefügt werden eine Anweisung CREATE VIEW AS .

Beispiel

ANSICHT ERSTELLEN AS

%Vor%

Aktualisieren

Wenn die Zeichenfolge 1000 Zeichen lang ist, wie hamstergene angibt, müssen Sie Ihre Skriptsprache zum Erstellen verwenden eine Funktion, die die beiden folgenden Operationen ausführt.

  1. Fragt das Feld ab, um die String-Länge zu erhalten.
  2. Erstellen Sie die SELECT-Anweisung programmgesteuert basierend auf count.

Vielleicht könnte hamstergene Ihnen dabei helfen.

    
LarsB 20.10.2011 12:18
quelle

Tags und Links