Je fais face à une base de données ennuyeuse où un champ contient ce qui devrait vraiment être stocké deux champs distincts. Ainsi, la colonne est stockée quelque chose comme "La première chaîne ~ @ ~ La deuxième chaîne", où "~ @ ~" est le délimiteur. (Encore une fois, je ne conçois, je suis juste essayer de le réparer.)SQL Server: un équivalent de strpos()?
Je veux une requête pour déplacer ce en deux colonnes, qui ressemblerait à quelque chose comme ceci:
UPDATE UserAttributes
SET str1 = SUBSTRING(Data, 1, STRPOS(Data, '[email protected]~')),
str2 = SUBSTRING(Data, STRPOS(Data, '[email protected]~')+3, LEN(Data)-(STRPOS(Data, '[email protected]~')+3))
Mais Je ne trouve pas d'équivalent à des strpos.
Il est important de noter que l'ordre des arguments est commuté ici, ce qui conduit à beaucoup d'erreurs "Chaînes ou données binaires seraient tronquées" si vous laissez l'aiguille et la meule de foin dans le même ordre que strpos. – Noumenon