sql >> Databasteknik >  >> RDS >> Sqlserver

Hur extraherar man denna specifika delsträng i SQL Server?

Kombinera SUBSTRING() , LEFT() och CHARINDEX() funktioner.

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

Detta förutsätter att din fältlängd aldrig kommer att överstiga 100, men du kan göra det smartare att ta hänsyn till det om det behövs genom att använda LEN() fungera. Jag brydde mig inte eftersom det redan händer tillräckligt där inne, och jag har ingen instans att testa mot, så jag tittar bara på mina parenteser osv.



  1. Ta bort alla blanksteg från en sträng i SQL Server

  2. PostgreSQL 9.3 triggerfunktion för att infoga i tabell med parametrerat namn

  3. SQL Auto Increment flera gånger i samma tabell

  4. Hur APPROX_COUNT_DISTINCT() fungerar i SQL Server