2010-08-16 6 views
1

J'ai une requête, dis Sélectionnez foo de la barre Foo est un champ de chaîne, et commencera toujours par "http: //". Je veux remplacer "http: //" par "xml: //" lors de la sélection, donc toutes les valeurs de foo reviennent comme xml: // ..., au lieu de http: // ... Y at-il un façon de substituer à la volée, pendant la requête?SQL Server Select Question

Répondre

8
SELECT REPLACE(column, 'http://', 'xml://') FROM ... 
3

Examinez le mot-clé REPLACE. Alternativement, si vous avez besoin de faire des opérations plus complexes que le remplacement peut gérer, regardez CASE.

0

Un simple REPLACE fera

SELECT REPLACE(YourColumn,'http://','xml://') FROM YourTable 
3

Comme vous le savez, il est toujours au début à la chaîne et ont probablement des contraintes d'intégrité pour vérifier cela! Edit: En fait, pourquoi stockez-vous le protocole dans tous les cas? Vous pouvez simplement stocker le reste de l'URL et ajouter le protocole dont vous avez besoin sans avoir à supprimer une sous-chaîne superflue.