mam duży ciąg w SQL Server. Chcę skrócić ten ciąg do 10 lub 15 znaków
Oryginalny ciąg
this is test string. this is test string. this is test string. this is test string.
Pożądany ciąg
this is test string. this is ......
sql-server
tsql
SanamShaikh
źródło
źródło
Odpowiedzi:
Jeśli chcesz zwrócić tylko kilka znaków swojego długiego ciągu, możesz użyć:
Zobacz SQL Fiddle with Demo .
Spowoduje to zwrócenie pierwszych 15 znaków ciągu, a następnie połączenie znaku
...
na końcu.Jeśli chcesz mieć pewność, że ciągi mniejsze niż 15 nie dostaną
...
, możesz użyć:Zobacz SQL Fiddle with Demo
źródło
...
dopisek, gdy nie ma on zastosowaniaMożesz użyć
lub
źródło
Myślę, że odpowiedzi tutaj są świetne, ale chciałbym dodać scenariusz.
Kilka razy chciałem usunąć pewną liczbę znaków z przodu ciągu, nie martwiąc się o jego długość. Jest na to kilka sposobów za pomocą RIGHT () i SUBSTRING (), ale wszystkie muszą znać długość łańcucha, co czasami może spowolnić działanie.
Zamiast tego użyłem funkcji STUFF ():
Spowoduje to zastąpienie długości niepotrzebnego ciągu pustym ciągiem.
źródło
Możesz także użyć operacji Cast ():
źródło
Możesz również użyć poniższego, iif pomija instrukcję case i dodaje wielokropki tylko wtedy, gdy jest to wymagane (dobre tylko w SQL Server 2012 i nowszych), a instrukcja case jest bardziej zgodna z ANSI (ale bardziej szczegółowa)
źródło
źródło