Sélectionnez la chaîne jusqu'à la première ou deuxième espace dans la chaîne de

J'ai une colonne de tableau qui contient dans chaque ligne de données comme ceci:

|                 Simbols              |
|--------------------------------------|
|H412 Text text                        |
|H413 Text text text text              |
|EUH 001 Text text text text text text |
|EUH 006 text text                     |
|EUH 201/201A Text text. Text text     |

Et j'ai besoin de données obtenir des données comme ceci:

|Simbols     |
|------------|
|H412        |
|H413        |
|EUH 001     |
|EUH 006     |
|EUH 201/201A|

J'ai essayé avec la sous-CHAÎNE et CHARINDEX mais jusqu'à la fin ne fonctionne pas... Il faut seulement le premier espace ou quelque chose comme ça...
REQUÊTE:

SELECT 
CASE 
    WHEN SUBSTRING(Simbols, 1, CHARINDEX(' ', Simbols)) = ''
    THEN Simbols + ' '
    ELSE SUBSTRING(Simbols, 1, CHARINDEX(' ', Simbols))
END 'Simbols'
FROM dbo.table

RÉSULTAT:

|  Simbols   |
|------------|
|H412        |
|H413        |
|EUH         |
|EUH         |
|EUH         |

Comment puis-je faire ce travail, et où est le problème?
Peut-être il y a différentes façon d'obtenir ces Simbols?

P. S. "du texte du Texte du texte" est un exemple, il est une des explications de "Simbols"

  • Si c'est le second espace, alors pourquoi sont les 2 premiers dans les résultats que vous souhaitez arrêter à la première?
  • Voulez-vous supprimer le caractère du TEXTE à partir de chaque ligne et afficher le reste?
  • Essayez d'Expressions Régulières répondu en stackoverflow.com/questions/986826/...
  • Que "Texte" n'est qu'un exemple, il y a un texte différent!
  • Quelle est la règle?
InformationsquelleAutor ASPFox | 2014-01-30