Écrire une requête pour échanger des valeurs entre les lignes d'un server Table in SQL?

J'ai par erreur inséré des données erronées dans les lignes de la table, maintenant je veux échanger datatables. Mâle à la place de la femelle et vice-versa.

entrez la description de l'image ici

Voici datatables correctes que j'attends –

entrez la description de l'image ici

La mise à jour simple fonctionne:

UPDATE myTable SET col1 = CASE WHEN col1 = 'male' THEN 'female' ELSE 'male' END, col2 = CASE WHEN col2 = 'female' THEN 'male' ELSE 'female' END 

Résultat: les valeurs de ligne seront swap.

J'espère que ça marchera pour vous.

Vous pouvez utiliser:

 UPDATE table_name SET Gender = CASE Gender WHEN 'Male' THEN 'Female' WHEN 'Female' THEN 'Male' ELSE Gender END; 

LiveDemo

S'il vous plaît noter que d'autres valeurs que les male/female comme N/A ou NULL restront les mêmes.


Si vous voulez le faire seulement pour les noms spécifiés, utilisez:

 UPDATE table_name SET Gender = CASE WHEN Name IN ('Geetha', 'Radha') THEN 'Female' WHEN Name IN ('Ram', 'Syam', 'Ravi') THEN 'Male' END WHERE Name IN ('Ram', 'Syam', 'Geetha', 'Radha', 'Ravi');