tengo una cadena grande en SQL Server. Quiero truncar esa cadena a 10 o 15 caracteres
Cadena original
this is test string. this is test string. this is test string. this is test string.
Cadena deseada
this is test string. this is ......
sql-server
tsql
SanamShaikh
fuente
fuente
Respuestas:
Si solo desea devolver algunos caracteres de su cadena larga, puede usar:
Consulte SQL Fiddle con demostración .
Esto devolverá los primeros 15 caracteres de la cadena y luego concatena
...
al final de la misma.Si desea asegurarse de que las cadenas de menos de 15 no obtengan el
...
, puede usar:Ver SQL Fiddle con demostración
fuente
...
apéndice cuando no se aplicaPuedes usar
o
fuente
Creo que las respuestas aquí son geniales, pero me gustaría agregar un escenario.
Varias veces he querido quitar una cierta cantidad de caracteres del frente de una cadena, sin preocuparme por su longitud. Hay varias formas de hacer esto con RIGHT () y SUBSTRING (), pero todas necesitan saber la longitud de la cadena que a veces puede ralentizar las cosas.
En su lugar, he usado la función STUFF ():
Esto reemplaza la longitud de la cadena innecesaria con una cadena vacía.
fuente
También puede utilizar la operación Cast ():
fuente
También puede usar lo siguiente, el iif evita la declaración de caso y solo agrega puntos suspensivos cuando sea necesario (solo es bueno en SQL Server 2012 y versiones posteriores) y la declaración de caso es más compatible con ANSI (pero más detallada)
fuente
fuente