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
Vous devez vous connecter pour publier un commentaire.
Utilisateur charindex:
Lien
La PatIndex fonction devrait vous donner l'emplacement du motif comme une partie d'une chaîne.
http://msdn.microsoft.com/en-us/library/ms188395.aspx
Si vous avez besoin de vos données dans les colonnes de voici comment je l'utilise:
Il suffit de remplacer ',' dans la fonction avec votre délimiteur (ou peut-être même paramétrer)