eu tenho uma grande string no SQL Server. Eu quero truncar essa string para 10 ou 15 caracteres
String original
this is test string. this is test string. this is test string. this is test string.
String desejada
this is test string. this is ......
sql-server
tsql
SanamShaikh
fonte
fonte
Respostas:
Se você deseja retornar apenas alguns caracteres de sua longa string, pode usar:
Consulte SQL Fiddle with Demo .
Isso retornará os primeiros 15 caracteres da string e, em seguida, concatena o
...
ao final dela.Se você quiser ter certeza de que strings menores que 15 não recebam o
...
, você pode usar:Veja SQL Fiddle com Demo
fonte
...
anexo quando não se aplicarVocê pode usar
ou
fonte
Acho que as respostas aqui são ótimas, mas gostaria de adicionar um cenário.
Várias vezes eu quis tirar uma certa quantidade de caracteres da frente de uma string, sem me preocupar com seu comprimento. Existem várias maneiras de fazer isso com RIGHT () e SUBSTRING (), mas todas elas precisam saber o comprimento da string, o que às vezes pode desacelerar as coisas.
Usei a função STUFF () em vez disso:
Isso substitui o comprimento da string desnecessária por uma string vazia.
fonte
Você também pode usar a operação Cast ():
fonte
Você também pode usar o seguinte, o iif evita a instrução case e só adiciona reticências quando necessário (bom apenas no SQL Server 2012 e posterior) e a instrução case é mais compatível com ANSI (mas mais detalhada)
fonte
fonte