Verwenden Sie SUBSTRING und CHARINDEX, um das letzte vollständige Wort im Feld zu erhalten

Ich habe ein Feld in meiner Datenbank, das ich zu Berichtszwecken mit der folgenden Anweisung auf 50 Zeichen kürzen möchte.

SELECT (CASE WHEN (LEN(Notes) > 50) THEN SUBSTRING(Notes, 0, 50) + '...' WHEN (LEN(Notes) < 50) THEN SUBSTRING(Notes, 0, LEN(Notes)) + '...' ELSE 'NO NOTES WERE ENTERED' END) AS Notes FROM MyTable

Das funktioniert gut, aber ich möchte das letzte Wort im Notenfeld vervollständigen, damit ein Wort nicht abgeschnitten wird. Daher möchte ich CHARINDEX, SUBSTRING, REVERSE und möglicherweise die RECHTS-Funktion verwenden, um das letzte vollständige Wort zurückzugeben ist Teil einer Zeichenfolge, die ungefähr 50 Zeichen lang ist.

Ich habe experimentiert und ich habe nicht viel Glück.

Jede Hilfe wäre dankbar.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage