sql >> Base de Datos >  >> RDS >> Sqlserver

¿Cómo extraer esta subcadena específica en SQL Server?

Combina el SUBSTRING() , LEFT() y CHARINDEX() funciones.

SELECT LEFT(SUBSTRING(YOUR_FIELD,
                      CHARINDEX(';', YOUR_FIELD) + 1, 100),
                      CHARINDEX('[', YOUR_FIELD) - 1)
FROM YOUR_TABLE;

Esto supone que la longitud de su campo nunca excederá 100, pero puede hacer que sea más inteligente tenerlo en cuenta si es necesario empleando LEN() función. No me molesté porque ya está sucediendo suficiente allí, y no tengo una instancia contra la cual probar, así que solo estoy mirando mis paréntesis, etc.