0
votes

Supprimer les 5 premiers caractères de chaque entrée d'une procédure stockée de colonne

J'ai la table réservation forte> et dans ce tableau, une colonne a appelé camping fort>. Chaque entrée de la colonne de camping est très similaire aux autres, par exemple:

ï »¿Albe / Alberta Beach Family RV Park P>

Quelqu'un peut-il me dire comment supprimer les 5 premiers caractères de Chaque entrée de cette colonne à l'aide d'une procédure stockée qui supprime 5 caractères de chaque entrée de cette colonne? strong> p>

Le code que j'ai essayé jusqu'à présent est le suivant: P>

UPDATE reservation
SET RIGHT(campground, LEN(campground) - 5)


2 commentaires

Pourquoi une procédure stockée?


mysql ou postgres? Veuillez baliser uniquement la base de données que vous utilisez.


6 Réponses :



0
votes

dans MySQL Vous pouvez utiliser une requête très simple:

UPDATE reservation
SET campground = substring(campground, 6);


0 commentaires

0
votes

Vous avez manqué de donner le nom de la colonne dans votre clause définie:

UPDATE reservation
SET campground = RIGHT(campground, LEN(campground) - 5)


0 commentaires

0
votes

Je voudrais simplement utiliser substr () , ce qui rend l'expression plus simple: xxx

MySQL et Postgres prend en charge cette syntaxe.

Si vous souhaitez une requête de mise à jour, alors: xxx


0 commentaires

1
votes

Voulez-vous vraiment supprimer les 5 premiers caractères de la chaîne ou souhaitez-vous tout supprimer jusqu'à la première slash avant?

Les autres réponses ici abordent votre question littérale. cette répond à la question que vous pourrait vraiment demander (dialecte PostgreSQL): xxx xxx

Utilisation de cette expression dans une instruction de mise à jour: xxx

(où la clause incluse pour s'assurer qu'il ne met pas à jour les lignes déjà mises à jour)


0 commentaires

0
votes

Vous pouvez utiliser split_parart () code> dans PostgreSQL

UPDATE reservation
   SET campground = split_part(campground, '/', 2)


0 commentaires