Użyj SUBSTRING I CHARINDEX, aby uzyskać ostatnie pełne słowo w polu
Mam pole w mojej bazie danych, które planuję skrócić do celów sprawozdawczych do 50 znaków z poniższym stwierdzeniem.
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
To działa świetnie, jednak chciałbym uzupełnić ostatnie słowo w polu notatek, aby słowo nie zostało obcięte, więc chciałbym użyć CHARINDEX, SUBSTRING, REVERSE i ewentualnie PRAWEJ, aby zwrócić ostatnie pełne słowo, które jest częścią ciągu o długości około 50 znaków.
Eksperymentowałem i nie mam dużo szczęścia.
Każda pomoc byłaby doceniana.