2009-12-16 21 views
6

Necesito seleccionar una versión abreviada de un campo de una tabla de SQL Server para usarla en una lista desplegable.Devuelve los primeros N caracteres de la cadena

Este campo tiene que estar limitado a veinte caracteres. Si el campo tiene más de veinte caracteres, debería mostrar los primeros veinte; si tiene menos de veinte caracteres, debe mostrar toda la cadena.

¿Cómo puedo hacer esto?

Respuesta

13

Trate left(sting_field,20) o right(sting_field,20)

+0

con esto si la longitud de la cadena es decir 10, será la nueva cadena sólo el 10 o 10 + 10 espacios? – reefes

+0

La cadena se mantendrá 10 – adopilot

3

Este SELECT debe hacer:

SELECT 
    SUBSTRING(ISNULL(stringfield, ''), 1, 20) 

que reemplazará un valor "NULO" con una cadena vacía '' y el límite de longitud de 20 caracteres como máximo.

+1

¿No es LEFT() mejor que SUBSTRING()? – RickNZ

+0

@RickNZ: ¿por qué? ¿cómo? –

Cuestiones relacionadas