Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comment puis-je utiliser une sous-chaîne en SQL ?

J'ai également donné cette réponse dans la question en double.

Voici une technique qui utilise PATINDEX , qui peut utiliser des caractères génériques.

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)
                )

Le début de votre sous-chaîne est la position de la première valeur numérique (%[0-9]%). La valeur de longueur est la position de la première parenthèse ('%(%') moins la position de départ.