¿Cómo obtener el primer carácter de una cadena en SQL?
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?
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.
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.
SUBSTRING ( MyColumn, 1 , 1 )
para el primer personaje y SUBSTRING ( MyColumn, 1 , 2 )
para los dos primeros.
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
SELECT SUBSTR(thatColumn, 1, 1) As NewColumn from student