SQL Server: un équivalent de strpos ()?

Je fais face à un ennuyeux base de données où l'un des champs contient ce qui devrait vraiment être stockée deux champs distincts. Si la colonne est stockée quelque chose comme "La première chaîne de~@~La deuxième chaîne", où "~@~" est le séparateur. (Encore une fois, je n'ai pas cette conception, je suis juste en train de le fixer.)

Je veux une requête à la déplacer dans deux colonnes, qui ressemblerait à quelque chose comme ceci:

UPDATE UserAttributes
SET str1 = SUBSTRING(Data, 1, STRPOS(Data, '~@~')),
    str2 = SUBSTRING(Data, STRPOS(Data, '~@~')+3, LEN(Data)-(STRPOS(Data, '~@~')+3))

Mais je ne trouve pas que ce soit de comparable à strpos existe.

source d'informationauteur Kip