SQL Server: eine Entsprechung von strpos ()?

Ich habe es mit einer nervigen Datenbank zu tun, in der ein Feld zwei separate Felder enthält, die eigentlich gespeichert werden sollten. Die Spalte wird also in etwa wie "Die erste Zeichenfolge ~ @ ~ Die zweite Zeichenfolge" gespeichert, wobei "~ @ ~" das Trennzeichen ist. (Auch dies habe ich nicht entworfen, ich versuche nur, es zu beheben.)

Ich möchte, dass eine Abfrage dies in zwei Spalten verschiebt, die ungefähr so ​​aussehen würden:

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

Ich kann aber keine Entsprechung zu strpos finden.

Antworten auf die Frage(3)

Ihre Antwort auf die Frage