Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Come posso usare la sottostringa in SQL?

Ho dato questa risposta anche nella domanda duplicata.

Ecco una tecnica che utilizza PATINDEX , che può utilizzare caratteri jolly.

SUBSTRING(ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO,
        PATINDEX('%[0-9]%', ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO),
        PATINDEX('%(%', ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO)
                 - PATINDEX('%[0-9]%', ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO)
                )

L'inizio della sottostringa è la posizione del primo valore numerico (%[0-9]%). Il valore della lunghezza è la posizione della prima parentesi ('%(%') meno la posizione iniziale.