¿Cómo obtener el primer carácter de una cadena en SQL?

Resuelto Vinod asked hace 15 años • 8 respuestas

Tengo una columna SQL con una longitud de 6. Ahora quiero tomar solo el primer carácter de esa columna. ¿Existe alguna función de cadena en SQL para hacer esto?

Vinod avatar Apr 27 '09 12:04 Vinod
Aceptado

LEFT(colName, 1)también hará esto, también. Es equivalente a SUBSTRING(colName, 1, 1).

Me gusta LEFT, ya que lo encuentro un poco más limpio, pero realmente no hay diferencia en ninguno de los dos casos.

Eric avatar Apr 27 '2009 05:04 Eric

Yo prefiero:

SUBSTRING (my_column, 1, 1)

porque es sintaxis estándar SQL-92 y, por lo tanto, más portátil.


Estrictamente hablando, la versión estándar sería

SUBSTRING (my_column FROM 1 FOR 1)

La cuestión es que pasar de uno a otro y, por tanto, a cualquier variación similar de proveedor, es trivial.

ps Recientemente me señalaron que las funciones en SQL estándar son deliberadamente contrarias, al tener listas de parámetros que no son los commalistas convencionales, para que sean fácilmente identificables como estándar.

onedaywhen avatar Apr 27 '2009 14:04 onedaywhen

SUBSTRING ( MyColumn, 1 , 1 )para el primer personaje y SUBSTRING ( MyColumn, 1 , 2 )para los dos primeros.

Damovisa avatar Apr 27 '2009 05:04 Damovisa

Es simple de lograr mediante lo siguiente

DECLARE @SomeString NVARCHAR(20) = 'This is some string'
DECLARE @Result NVARCHAR(20)

Cualquiera

SET @Result = SUBSTRING(@SomeString, 2, 3)
SELECT @Result

@Result = his

o

SET @Result = LEFT(@SomeString, 6)
SELECT @Result

@Result = This i

jet_choong avatar Jul 19 '2016 07:07 jet_choong
SELECT SUBSTR(thatColumn, 1, 1) As NewColumn from student
Devendra Verma avatar Nov 19 '2012 19:11 Devendra Verma