2017-11-23 1 views
0

Ich arbeite an SQLite-Datenbank. Ich habe so etwas wie:REPLACE Funktion Sqlite

07 22 2017 15:14:35.100577000

ich es zu transformieren wollen:

07-22-2017 15:14:35.100577000

Wenn ich mit Platz ersetzen verwenden, um „-“ ich habe: 2017.07.22 -15: 14: 35.100577000

Und ich will das nicht.

Vielen Dank für Ihre Hilfe.

Antwort

1

Schneiden Sie die Zeichenfolge nach oben in einen Teil der ersten 10 Zeichen, tun Sie auf das Bit nur, ersetzen und dann auf den verbleibenden Zeichen vom hinteren Ende verketten:

SELECT replace(substr(x, 1, 10), ' ', '-')||substr(x,11) 
+0

Auswahlfeld Replace (substr (Feld , 1, 10), '', '-') || substr (Feld, 11) von DB; gibt mir: Fehler: in der Nähe „(“: Syntaxfehler Verstehe nicht, warum ... – Thibaud

+0

@Thibaud Da der Code nicht das gleiche wie in der Antwort ist –

+0

Der Code Sound ist, gehen Sie zu sqliteonline.com. und fügen Sie das in 'SELECT ersetzen (substr (Hinweis, 1, 10), '', '-') || substr (Hinweis, 11) von Demo '- es funktioniert gut. Ich wählte die Spalte HINT aus deren Demo-Tabelle Sie müssen Ihre Spalte korrekt in "' x "benennen. Beachten Sie, wenn Ihre Spalte etwas genannt wird, das ein reserviertes Wort sein könnte (viele Leute nennen ihre Datumsspalten" Datum "oder etwas Ähnliches nicht) um es zu umgehen ("doppelte Anführungszeichen" denke ich). Zukünftiger Tipp, wenn das der Fall ist: Rufen Sie Ihre Spalte nichts auf, was ein reserviertes Wort ist. Machen Sie es CreatedDate zum Beispiel .. –